Un bonheur n’arrivant jamais seul, c’est à peine quelques jours après la sortie de Drupal 8 en version stable que la sortie de PHP 7 (stable également) a été annoncée.
Comme le présage la proximité de leur date de parution, ces deux-là sont destinés à vivre ensemble et Drupal 8 dès lors de sa sortie était déjà compatible avec PHP 7.
PHP 7 introduit quelques nouveautés relativement mineures au niveau du langage. Son véritable apport par rapport à la version 5.x (la dernière, la version 6 du langage ayant été avortée) est son nouveau moteur d’exécution baptisé PHPNG.
PHPNG à été mis en point notamment pour concurrencer la technologie HHVM développée par Facebook. HHVM est un moteur d’exécution initialement développé pour exécuter le langage hack(http://hacklang.org/) créé par FaceBook. Hack est un langage proche de PHP et offre d’ailleurs une rétrocompatibilité avec celui-ci. En résumé on peut exécuter du PHP en utilisant le moteur HHVM qui permet d’obtenir des gains de performance très significatifs en termes de rapidité d’exécution grâce principalement à une compilation JIT (Just in time) : le bytecode PHP est ainsi compilé en code machine au moment de l’exécution.
PHPNG quand à lui n’utilise pas la compilation JIT mais envisage éventuellement son utilisation dans les prochaines versions du moteur. Le gain de performance de PHPNG est actuellement obtenu grâce à des changements en profondeur de l’API interne de PHP. Les gains de performance annoncés sont très conséquents et de nature à concurrencer HHVM.
Ainsi pour Drupal 8, Une série de test effectués en utilisant la version dev PHP 7 et la version 5.6.99 de HHVM annonçait des résultats très prometteurs avec Drupal 8.
Cependant depuis la sortie officielle des 2 technologies, les résultats semblent plus mitigés. Certains benchmarks (notamment celui-ci) annoncent des résultats plus que décevants pour Drupal 8 couplé à PHPNG . HHVM resterait donc selon ce dernier article bien plus performant que le nouveaux moteur PHPNG de PHP 7 avec Drupal 8.
Les résultats de ce dernier benchmark sont cependant assez largement remis en question par d’autres, dont notamment celui-ci qui annoncent quant à lui un net avantage au niveau des performances pour le couple Drupal 8 / PHP 7 (PHPNG).
Les mois qui viennent permettrons sans doute de départager plus précisément les 2 technologies, mais nul doute que la course à la performance entre HHVM et PHPNG n’est pas encore terminée, et c’est tant mieux car, au final, cette compétition est extrêmement bénéfique et stimulante pour tout l’écosystème PHP.