PHP 7 meilleur ami de Drupal 8 ?

Rédigé par Sylvain Lavielle
Développeur web freelance expert Drupal sur Toulouse

Le 24/12/2015
keyboard_arrow_left Bonne lecture ? Que diriez-vous de partager. sentiment_satisfied_alt

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.

Sujets abordés dans cet article