L’un des gros reproches que l’on fait à PHP, en plus de son absence de sécurité, a toujours été sa vitesse d’exécution jugée beaucoup trop lente.

C’est pourquoi deux initiatives avaient été prises, l’une par Facebook qui avait lancé une machine virtuelle, un « run time » d’exécution PHP, HHVM pour HiHop Virtual Machine, dans laquelle le code PHP est traduit en HHBC : HiHop Byte Code, le code étant stocké en cache avec une structure SQLite et l’autre par Zend Technologies, que l’on peut considérer comme le « gardien  du temple » PHP, qui avait lancé son propre JIT PHP, accompagné d’un gros nettoyage des API « Core » et d’une forte amélioration de l’usage de la mémoire, via des modifications de structures de données.

Facebook ayant entre temps sorti son propre compilateur JIT, qui avait amélioré les performances de 100 % en PHP 7 par rapport à l’ancienne version PHP 5.2.

On se trouve donc dans la situation où deux acteurs majeurs de la galaxie PHP proposent des solutions d’améliorations des performances, évidemment incompatibles, l’usager ayant à faire un choix technique mais aussi extra technique, qui sera sans doute influencé par le fait que Zend a été racheté par Rogue Wave, ce qui n’est pas une bonne nouvelle pour la pérennité du langage.

Des benchmarks concretsTout le monde se posait la question de savoir si le tout nouveau PHP 7 allait être à la hauteur des espérances qu’il avait suscitées en termes de performances et quel serait son positionnement par rapport à HHVM de Facebook. Questions qui concernent plus de 7 millions de développeurs – excusez du peu – et d’innombrables entreprises pour qui PHP est le langage de référence.

C’est à ces questions que répondent les benchmarks qui viennent d’être publiés (ici).

Benchmarks qui montrent par exemple que PHP 7 est 129 % plus rapide que PHP 5.6 (la dernière version avant la 7) sur le bench.php et 135 % sur le bench micro_bench.php.

S’il est utilisé avec les grands produits PHP, on trouve les mêmes améliorations : 128 % avec WordPress 3.6, 76 % avec Drupal 7 et 127 % avec Sugar CRM.

Chiffres satisfaisants mais qui sont somme toute normaux.

Par rapport à HHVM de Facebook, là les chiffres sont plus serrés. PHP 7 est même légèrement moins rapide, 2 et 1 % pour les mêmes benchmarks bench.php et micro_bench.php, voire équivalents à ceux de Facebook pour les WordPress, Drupal ou SugarCRM (amélioration négligeable de 1 %).

D’autres benchmarks, effectués sur le site Phoronix et portant sur Linux, ont par contre montré que PHP 7 était 3 fois plus rapide que PHP 5.6 et 2 fois plus que HHVM, avec toutefois une consommation mémoire qui reste supérieure à celle de HHVM.

Ce qu’il faut retenir de ces évaluations est que la version 7 de PHP est quasiment au même niveau que celle de Facebook, ce qui évitera aux chefs de projets de s’aventurer dans un paysage balisé par Facebook, mais qui n’est pas celui de la « maison » PHP. Chefs de projets qui n’aiment pas trop s’éloigner de l’offre officielle, avec des divergences qu’ils ont toujours peur de devoir payer un jour.

De ce point de vue ils seront donc satisfaits.

Il serait aussi intéressant de savoir quelle est la proportion de ces chefs de projets qui ont opté pour Facebook et celle des inamovibles qui s’en tiennent à la « liturgie » officielle, PHP 5.6 et maintenant 7. On devrait la connaître rapidement.