Vous êtes ici

PHP 7 meilleur ami de Drupal 8 ?

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.