S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Facebook veut accélérer les sites PHP avec son HipHop

Transformer le PHP en C++

Facebook vient de publier un outil qui risque de faire parler de lui dans la communauté des développeurs Web. Il s’agit d’HipHop, qui a pour but final d’accélérer le rendu des pages qui utilisent le langage PHP.

facebook

Comme l’explique Haiping Zhao, développeur chez Facebook, HipHop n’est pas à proprement parler un compilateur. Il faut le considérer comme un outil qui va transformer le code PHP en C++. Ensuite, ce dernier est compilé avec G++, le compilateur dédié au C++ faisant partie du célèbre GCC. La transformation du code se fait de manière sémantique mais peut sacrifier au passage quelques fonctionnalités « rarement utilisées », comme eval(), au profit de performances supplémentaires.

Le code C++ généré par HipHop est décrit comme « hautement optimisé » pour permettre d’accélérer le rendu des pages, tout en diminuant autant que possible l’utilisation des ressources processeurs ainsi que de la mémoire vive. Selon Facebook, l’utilisation d’HipHop aurait permis de réduire de 50 % l’utilisation CPU sur l’ensemble du service.

HipHop contient un outil de transformation du code, une nouvelle implémentation du runtime PHP ainsi qu’une réécriture de la plupart des Extensions PHP pour qu’elles puissent tirer parti des optimisations faites en amont.

HipHop est maintenant publié en version bêta open source. Il est à noter que toutes les modifications apportées à PHP ont été reportées vers le projet PHP pour en partager les bénéfices. Les développeurs qui souhaitent en savoir davantage peuvent consulter le billet complet publié sur le blog de Facebook (en anglais).
Source : Facebook
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Publiée le 03/02/2010 à 11:00

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 133 commentaires

Avatar de manu0086 INpactien
manu0086 Le mercredi 3 février 2010 à 12:59:40
Inscrit le mardi 30 janvier 07 - 3238 commentaires
Faut voir ce que ça donne concrètement.

Cela peut être intéressant sur certains gros sites.
Avatar de misterB INpactien
misterB Le mercredi 3 février 2010 à 13:00:01
Inscrit le vendredi 22 octobre 04 - 145995 commentaires

oui son wiki confirme ça.

c'est donc son choix si l'équipe de développement n'est pas plus étoffée






c'est qu'ils peuvent pas se permettre plus
Avatar de mikfr INpactien
mikfr Le mercredi 3 février 2010 à 13:06:38
Inscrit le dimanche 7 janvier 07 - 207 commentaires
Je me pose la même question, les classes utilisant de l'OO seront-elles prises en charge ?

trouve moi une seule classe qui ne soit pas de l'oo en php/c++... c'est juste dans la définition de l'oo !
Avatar de sniperdc INpactien
sniperdc Le mercredi 3 février 2010 à 13:06:42
Inscrit le vendredi 24 août 07 - 7329 commentaires
Avatar de gokudomatic INpactien
gokudomatic Le mercredi 3 février 2010 à 13:16:18
Inscrit le mercredi 15 décembre 04 - 12323 commentaires
T'as ce site qui est devenu mythique

selon certains standards, il est bien foutu.
Avatar de CounterFragger INpactien
CounterFragger Le mercredi 3 février 2010 à 13:21:41
Inscrit le mardi 10 juin 08 - 2197 commentaires
T'as ce site qui est devenu mythique

FrontPage powaaa ! vomi1.gif Firefox 3.6 est donc un navigateur moyenâgeux... mdr2.gif Je connaissais pas cette "légende vivante" !
Avatar de florian00 INpactien
florian00 Le mercredi 3 février 2010 à 13:24:27
Inscrit le dimanche 22 avril 07 - 68 commentaires
Au final j'me suis toujours demandé pourquoi on utilisait un langage non compilé. Quand on sait que le nombre de serveurs de google, facebook de yahoo dépasse le million.
Ça risque de leur faire des énormes économies si tous suivent l'exemple.
Avatar de ErGo_404 INpactien
ErGo_404 Le mercredi 3 février 2010 à 13:27:35
Inscrit le lundi 16 mai 05 - 3903 commentaires

gné ?

Déjà Google a choisi Python, un langage qui s'exécute vite et se compile facilment. Et puis bon, le jour ou facebook aura la meme archi que Google (BigTable et autre MapReduce) et la meme infrastructure (million de serveurs), je pense qu'ils n'auront pas trop besoin d'écrire un cross-compilateur PHP/C++.

Ben google a sorti Go, c'était pas un peu le but aussi, de refaire leurs serveurs avec Go ?
Avatar de the_mei INpactien
the_mei Le mercredi 3 février 2010 à 13:43:38
Inscrit le mardi 24 août 04 - 2545 commentaires
trouve moi une seule classe qui ne soit pas de l'oo en php/c++... c'est juste dans la définition de l'oo !

C++ comme PHP n'impose pas l'orienté objet, ce n'est pas du Java ou du .NET.
Avatar de mikfr INpactien
mikfr Le mercredi 3 février 2010 à 13:51:34
Inscrit le dimanche 7 janvier 07 - 207 commentaires
ça je sais merci
si tu utilises une classe, tu utilises forcément l'oo, d'où ma remarque
;