Actualités

[28/04/2017] Smile annonce son plan stratégique Open Arrow 2021 et accueille à son capital EURAZEO PME, nouvel actionnaire de référence qui succède à Keensight Capital

Smile, leader de l’intégration et l’infogérance de solutions open source, choisit son nouvel actionnaire majoritaire et s’offre de nouveaux moyens lui permettant le déploiement de son plan stratégique OPEN ARROW 2021 visant à créer un nouveau champion européen de l’IT de plus de 200M€ de chiffre d’affaires.

[25/04/2017] Smile est à nouveau Strategic Partner Alfresco !

Pour la quatrième année consécutive, Smile est Strategic partner Alfresco, le plus haut niveau de partenariat !

[12/04/2017] Smile décroche le statut de Partenaire Global Elite Magento !

Smile est très heureux d'annoncer que nous devenons Partenaire Global Elite Magento - un statut accordé à seulement 5 entreprises dans le monde !

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Hip Hop PHP ou la compilation native de PHP par Facebook

Des ingénieurs de Facebook ont écrit un pre-processeur permettant de transformer du code PHP en code C++. Le code C++ peut alors être compilé en machine code par l'intermédiaire du compilateur OpenSource gcc. Ce pre-processeur se nomme HipHop PHP et sera bien disponible sous une licence libre sur le GitHub de Facebook.

La rumeur circulait depuis quelques jours, et l'annonce de c nouveau pre-processeur vient d'être postée :
http://developers.facebook.com/news.php?blog=1&story=358


Côté performance, le binaire final n'utilise que 50% du CPU utilisé par le code PHP natif (déjà secondé par du cache d'opcode).

Le principe n'est pas nouveau, Roadsend par exemple, fait la même opération en passant par Bigloo (un cousin du Lisp) avant de le compiler en langage machine.


En terme de fiabilité, le post nous indique que 90% du contenu servi par Facebook depuis 6 mois est issu d'un code PHP compilé par Hip Hop. C'est donc déjà une belle épreuve du feu.
Au niveau composants système, les détails sont encore légers, on ne sait pas trop s'il faudra utiliser le serveur HTTP Tornado de chez Facebook, mais à priori une installation en FastCGI derrière un Apache devrait tourner.
Néanmoins, il ne s'agit pas de basculer tout le parc applicatif PHP sous HipHop PHP : seul le code source PHP de Facebook a été passé à la moulinette pour l'instant, et rien ne dit que toutes les applications PHP réussiront la compilation.


De plus, les extensions PHP n'étant plus utilisables telle quelles (puisque l'on ne passe plus du tout par le moteur Zend), les ingénieurs de Facebook ont du ré-écrire celles dont ils se servaient.
On imagine donc facilement retrouver PHP GD, PHP MySQL ainsi que PHP Memcached, mais certainement pas tout de suite PHP PostGreSQL ou PHP LDAP par exemple. Néanmoins, le côté libre du projet permettra de voir arriver rapidement les extensions manquantes, ainsi que certainement encore quelques petites optimisations de performance.
Dans tout les cas, cette annonce est une bonne nouvelle : la professionnalisation de PHP par l'intermédiaire de ces frameworks (Zend, Symfony), ainsi que les applications à très forte valeurs fonctionnelles (eZ Publish, Magento, etc...), ont occasionné un gonflement du code PHP exécuté par notre cher mod_php, avec pour effet certains problèmes de performances en charge.


D'autre langage avait bénéficié un temps de ce type de compilation native, comme le Java avec le projet GCJ, mais les avancés en JIT côté JVM avait rendu caduques les efforts de compilation native.
La PHP qui ne tourne pas sur une JVM ne pouvait pas bénéficier du JIT (même si la réécriture de RoadSend PHP sur LLVM permettait d'en espérer un jour).


Cette rupture avec le langage interprété était donc peut être la seule échappatoire pour le PHP dont le coeur avait déjà été optimisé (peut être au maximum) entre la version 4 et la version 5.

Benoît Jacquemont
picto

Commentaires

       
Nicolas Chevallier - http://www.nicolas-chevallier.fr
Effectivement c'est une très bonne nouvelle. J'attends avec impatience des détails supplémentaires ainsi que les premiers retours d'expérience. Aujourd'hui les performances d'un site web sont un point important, pour l'utilisateur, et même pour les moteurs de recherche. Même si le temps de génération d'une page ne joue que pour 20% dans les performances ressenties par l'utilisateur (cf l'équipe Yahoo Performance), un gain de performance et des économies de ressources sont toujours appréciables.
jeudi 25 février 2010 @ 10:20
       
Ecrire un nouveau commentaire