De nos jours, HipHop for PHP est un sujet qui devient de plus en plus d'actualité dans notre société. Depuis son apparition, il a suscité un grand intérêt et un grand débat parmi les experts et la population en général. Au fil du temps, HipHop for PHP est devenu un élément clé dans différents domaines, de la politique à la culture populaire. Son influence s'est manifestée sous diverses formes, entraînant un impact significatif sur la façon dont nous interagissons, communiquons et prenons des décisions. Dans cet article, nous explorerons en profondeur les implications de HipHop for PHP et son impact sur notre vie quotidienne.
HipHop for PHP est un ensemble de logiciels créés par Facebook pour optimiser le développement, le débogage et l'exécution de code PHP.
Il fait référence à deux générations de produits :
La première génération compilait un code transformé en C++ :
La seconde génération est une machine virtuelle appelée HHVM et compilant, à l'instar de JVM pour le Java et du CLR pour la plate-forme .Net, le code en un langage intermédiaire, aussi appelé bytecode. Ce code est alors compilé et exécuté à la demande.
Les premiers développements de compilateurs sont phc et « Roadsend PHP Compiler » (compilant en C) et Quercus et Project Zero. Il a été en développement deux années avant sa publication en logiciel libre le . Des difficultés ont fait prendre du retard au projet,.
Facebook décide de développer son propre compilateur, sous la direction de Haiping Zhao.
Le premier produit développé est un compilateur de code PHP. Il est appelé dans un premier temps HipHop for PHP, puis dans un second temps HPHPc. Il transforme le code source PHP en C++ optimisé et utilise g++ pour le compiler en langage machine. HipHop contient un transformateur de code, une réimplémentation des dépendances de PHP, et une réécriture de beaucoup d'extensions communes de PHP afin de profiter de ces optimisations de performances.
HipHop a été créé par Facebook entre 2008 et 2010 pour diminuer la charge de ses serveurs. Il a été distribué avec plus de 300 000 lignes de codes écrites en C++ et en C en tant que logiciel libre sous les termes de la version 3.01 de la licence PHP.
Ils ont aussi développé HPHPi, qui est un interpréteur de code expérimental avec lequel il n'est pas nécessaire de compiler préalablement le code, permettant aux développeurs de déboguer leur code dans un environnement simulant les mêmes conditions d'exécution qu'HPHPc.
Le gain de performances et de possibilités d'optimisation arrivait à un plafond. En outre, le maintien de HPHPc et HPHPi, qui sont deux bases de code distinctes, devient de plus en plus difficile, tandis que le support de certaines fonctionnalités de PHP comme eval() n'était toujours pas implémenté.
Pour remédier à ces problèmes, dès 2010, un projet de créer une machine virtuelle est lancé et HHVM est née. Elle atteindra des performances similaires à HPHPc fin 2012. Dès lors, Facebook l'utilise en production.