Apprenez en plus dans le nouvel article, HipHop pour PHP, qu’est-ce que c’est ?
Comme prévu et annoncé dans l’article précédent “Facebook + PHP = Hyper-PHP”, l’équipe de développement de Facebook a bien annoncer son projet de faire une sorte de compilateur pour PHP cet après-midi, vous pouvez la retrouver en anglais à cette adresse.
Ce n’est en fait pas sous le nom de Hyper-PHP que les développeurs de Facebook ont décider de sortir leur moteur, mais sous le nom de HipHop, accompagné de HPHPi.
Facebook n’a en réalité pas tout à fait réécrit PHP depuis le début, mais a décidé de créer une extension PHP qui transforme un code PHP en un code C++, puis qui le compile. HipHop, c’est le nom du module/programme/de l’extention PHP qui va transformer votre code PHP en code C++, puis le compiler en utilisant le traditionnel g++. HPHPi, lui, permet de ne pas avoir à mettre en place un système de compilation en plus, et d’avoir simplement a utiliser PHP comme avant, mais en beaucoup plus rapide.
Les chiffres ont néanmoins changer car on ne parle ici que d’une diminution de 50% – contre 80% d’après les rumeurs précédentes – de la consommation du CPU, sans même avancer de chiffres d’augmentation de performances, même si il est tout de même le sujet de tout l’article de Facebook, c’est donc sans douter que ça a très certainement un gros bénéfice, puisque Facebook.com l’utilise déjà sur près de 90% de ses serveurs!
À noter tout de même que dans l’article, il est précisé que des fonctions sont perdues, comme la fonction eval par exemple (ce n’est pas plus mal pour celle-ci) et que l’équipe de développement a réécrit de nombreuses extensions pour les adapter à leur HipHop PHP, ce qui fera sans aucun doute que cette innovation pour PHP ne sera pas ajoutée à PHP, contrairement aux caches OPCodes qui le seront pour PHP 6, et restera un projet distant externe à PHP pour un petit moment.
C’est donc à tester sans attendre, lorsque que les sources seront disponibles dans la nuit (fin d’après-midi chez nos amis américains) à cette adresse, qui ne marchera que lorsque les sources seront disponibles:
Dès possible je ferais des tests et des benchmarks, que je ne manquerait pas de diffuser ici.
Pingback: Facebook + PHP = Hyper-PHP » D-Sites
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
J’attend avec impatience que quelqu’un vérifie à la fois le benchmark et la compatibilité, hors facebook
Pingback: HipHop pour PHP, qu’est-ce que c’est ? » D-Sites
Ce qui vous avez précisé était bien présent dans la conférence de Facebook diffusé sur Ustream, dont mon petit résumé se trouve dans l’article HipHop pour PHP, qu’est-ce que c’est ?.
Votre article est très intéressant. Tout ceci met tout de même en avant le faussé qui est présent entre HipHop et PHP, qui sera très probablement difficile de combler, surtout au niveau de la non-compatibilité actuelle avec Apache!
Nous verrons donc ça avec le code source qui devrait être diffusé sous peu…