Facebook présente un outil permettant de compiler du code PHP
03-02-2010
Avec HipHop for PHP, Facebook convertit le code PHP en C++. Cet outil open source permet de largement réduire la charge des serveurs.
Publicité
HipHop for PHP est un projet intéressant. Il permet de transformer un script PHP en code C++, lequel pourra par la suite être compilé. Cet outil a été développé dans le plus grand secret par Facebook, et ce, depuis deux ans. 90 % du trafic des serveurs de la compagnie est aujourd’hui traité par du code PHP compilé.
Certes, l’idée n’est pas nouvelle, plusieurs logiciels permettant déjà de transformer du code PHP en C (Roadsend PHP et phc). Il ne faudra toutefois pas confondre cette technologie avec les accélérateurs PHP, qui ne permettent pas d’obtenir une telle vitesse de traitement.
L’outil proposé par les ingénieurs de Facebook semble aujourd’hui très avancé. HipHop for PHP permet ainsi de faire tomber la charge processeur des serveurs de la compagnie de près de 50 %. Pas mal, sachant que les accès aux bases de données ne sont que peu accélérés (en mode classique, ils s’appuient sur des extensions écrites en C).
Pour faciliter la mise au point de ce convertisseur, quelques fonctionnalités de PHP ont été enlevées. Toutefois, la plupart des extensions classiques sont déjà disponibles. Facebook en profite pour faire l’impasse sur Apache, en intégrant un serveur web à son offre.
Cet article du blogue officiel de Facebook permettra de découvrir cette technologie, qui devrait être mise en ligne – sous licence open source – dans les heures à venir.
Tags:
Mise au point / Charge processeur / FacebookPublicité
Articles associés :
- Performances en hausse pour PHP 5.3
- Développement web : une nouvelle version de PHP
- Le futur de PHP dévoilé
- 'Cloud': le framework PHP Zend monte à l’assaut d’Azure
- Symfony : un framework PHP adapté aux applications professionnelles
- Une offre serveur centrée autour de PHP
- Google veut ‘booster’ Python
Commentaires des lecteurs :
les limites connues
je complèterais avec les limites concrètes pour les développeurs :http://jpv.typepad.com/blog/2010/02/facebook-php-compiler-hiphop-php-les-limites.html
Apache et PHP5.3 ne sont pas supportés, et il y a certaines restrictions de language qui tournent autour d?eval(), mais qui du coup peuvent empecher certaines librairies de fonctionner
et du point de vue optimisation, en général on commence par les accès disque, réseau, et base de données. Mais bon un coup de boost sur le CPU ne peut faire que du bien du moment qu'on est conscient des limites :)