HHVM serait à nouveau plus rapide que PHP 7
Les développeurs de la machine virtuelle open source de Facebook ont optimisé ses performances

Le , par Hinault Romaric

0PARTAGES

7  0 
Il y’a un mois, les développeurs de Zend faisaient savoir que grâce aux optimisations qui ont été apportées à la base de code de PHP, dans le cadre du projet phpng (PHP Next Generation), PHP 7 était désormais plus rapide que HHVM (HipHop Virtual Machine) de Facebook.

Les tests effectués par Zend auraient permis de constater que PHP 7 offrait de meilleures performances que HHVM sur les frameworks : 39% plus rapide que HHVM sur Laravel et 45% pour Zend Framework 2 et SugarCRM. Par contre, sur les CMS, bien que PHP 7 prenait toujours l’avance, l’écart était néanmoins minime.

Le fait que le benchmark soit effectué par Zend laissait de nombreux développeurs sceptiques. Toutefois, il y avait un peu de vérité dans les chiffres publiés par l’entreprise. Ce qui a permis à l’équipe derrière HHVM de se remettre au travail pour reprendre le dessus sur PHP 7.

À titre de rappel, HHVM est une machine virtuelle open source conçue pour exécuter des programmes écrits en PHP et en Hack (langage proche du PHP utilisé sur la quasi-totalité du site de Facebook). HHVM utilise un compilateur just-in-time (JIT) pour atteindre des performances supérieures, tout en conservant la souplesse de développement que fournit PHP. L’approche JIT de HHVM a été reprise dans phpng pour booster les performances de PHP 7.

Dans un rapport qui a été publié sur le site du projet, ses développeurs font savoir que de nombreuses optimisations ont été apportées à HHVM. Il s’agit notamment des optimisations des fonctions internes, des propriétés dynamiques, de la concaténation des chaines et de la mise en cache des fichiers.

Des tests ont ensuite été effectués sous différentes configurations avec des CMS PHP comme WordPress, Drupal et MediaWiki, dans un environnement ou le trafic du serveur enregistrait une forte charge de travail.

HHVM serait désormais capable de gérer 1,8% plus de demandes par seconde pour les sites Wordpress et 19,4% plus de demandes par seconde pour MediaWiki par rapport à PHP 7.


En terme de vitesse de réponse, HHVM serait de 10,2% plus rapide pour Drupal 7, 18,7% pour Wordpress et 55,5% pour MediaWiki comparé à PHP 7.

Les améliorations qui ont été apportées à HHVM pour mieux prendre en charge ces CMS seront livrées avec la prochaine version de l’outil. Pendant l’opération, les développeurs de HHVM ont développé des patchs pour certains de ces CMS, qui permettent d’améliorer les performances quel que soit le moteur d’exécution PHP.

Les tests ont été effectués sur le benchmark open source pour PHP oss-performance, qui est soutenu par la communauté de HHVM. Ce qui peut également permettre de remettre en question les résultats présentés.

Quoi qu’il en soit, cette course à l’optimisation ne peut être que bénéfique pour les développeurs et les applications PHP.

PHP 7 est encore au stade de version alpha, et avant sa sortie en version stable, la plateforme aura encore droit à de nombreuses optimisations. Il ne serait donc pas surprenant que Zend réplique dans quelques semaines.

Source : HHVM

Et vous ?

Utilisez-vous HHVM ? Que pensez-vois de cette course à l’optimisation des performances ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 19/06/2015 à 13:48
C'est ce qu'on appelle une saine émulation.
Avatar de akrogames
Membre actif https://www.developpez.com
Le 19/06/2015 à 13:50
Si je comprends bien, la tendance du moment c'est d'optimiser les langages pour des produits spécifiques tels que des CMS, etc... Pour HHVM je ne trouves pas cela choquant car c'est un outil interne à une entreprise basé sur des technos précises. Mais pour PHP 7 c'est plus choquant.
Avatar de Zefling
Membre expert https://www.developpez.com
Le 19/06/2015 à 14:00
Citation Envoyé par akrogames Voir le message
Si je comprends bien, la tendance du moment c'est d'optimiser les langages pour des produits spécifiques tels que des CMS, etc... Pour HHVM je ne trouves pas cela choquant car c'est un outil interne à une entreprise basé sur des technos précises. Mais pour PHP 7 c'est plus choquant.
Personnellement ça ne choque pas, parce qu'un final ça sera bénéfique aux autres, comme l'amélioration de la concaténation. Peut-être le gain sera pas aussi exceptionnel parce que tu n'utilises pas le langage de la même façon. Puis cela reste ce qui est le plus utilisé sur le web, donc ça peut servir d'outil de mesure à mes yeux. Et je préfère ça a un bench où, au final, on optimisme pour un truc qui ne sert à rien de concret.
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 19/06/2015 à 14:10
bientôt php7 plus rapide que le C... (php étant fais en C, vous comprendrez la blague)

Je suis assez satisfait de ce genre de news, une concurrence dans se sens sa ne peut apporter que du bon, sa évite qu'un camp s'endorme.
Avatar de abriotde
Membre éprouvé https://www.developpez.com
Le 19/06/2015 à 14:44
D'un point de vue théorique, PHP7 ne peut pas être plus rapide que HHVM qui se trouve a un niveau plus bas. En pratique même si PHP trouve une solution pour être plus rapide que HHVM, cela ne pourra être que temporaire. Il suffira a HHVM de reprendre ces optimisation.

De même que philosophiquement parlant ASM est plus rapide que C (Abstraction de l'ordinateur) lui même plus rapide que Java (parce qu'il est interprété), lui même plus rapide que HHVM (car basé sur un langage non conçus pour les Machine Virtuel) lui même plus rapide que PHP (Non typé et interprété dynamiquement). Tout l'enjeu est de réduire ces différence. On peut même dire qu'ASM est plus lent qu'un processeur dédié.
Avatar de jv2759
Membre régulier https://www.developpez.com
Le 19/06/2015 à 14:54
Si je comprends bien, la tendance du moment c'est d'optimiser les langages pour des produits spécifiques tels que des CMS, etc... Pour HHVM je ne trouves pas cela choquant car c'est un outil interne à une entreprise basé sur des technos précises. Mais pour PHP 7 c'est plus choquant.

Non c'est simplement que les CMS on plusieurs avantages pour ce genre d'étude :
  • Ce sont des cas réels d'utilisation du langage
  • ce sont des éléments neutres donc pas prévus pour une plateforme en particulier
  • de nombreux site tourne avec un de ces CMS


Et même si les chiffre sa donnée sur un CMS cela profitera à tous les sites.
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 22/06/2015 à 13:54
Non c'est simplement que les CMS on plusieurs avantages pour ce genre d'étude :
Ce sont des cas réels d'utilisation du langage
ce sont des éléments neutres donc pas prévus pour une plateforme en particulier
de nombreux site tourne avec un de ces CMS

Je préfère des testes porté sur du concret, que sur des outils de benchmark, ou certain acteurs (je ne dirais pas nom) optimise leurs programmes pour ces outils, juste pour faire grossir les chiffres.
Avatar de miky55
Membre averti https://www.developpez.com
Le 23/06/2015 à 21:13
Citation Envoyé par abriotde Voir le message
D'un point de vue théorique, PHP7 ne peut pas être plus rapide que HHVM qui se trouve a un niveau plus bas. En pratique même si PHP trouve une solution pour être plus rapide que HHVM, cela ne pourra être que temporaire. Il suffira a HHVM de reprendre ces optimisation.
Salut tu peux expliquer en quoi hhvm est plus bas niveau que php7. Sachant que php7 intègre JIT et que les tests php7 publiés par zend récemment étaient avec JIT activé. A priori ont peut pas faire plus bas niveau que JIT qui est censé mettre en cache directement un exécutable. J'avais d'ailleurs lu quelque part que le JIT de HHVM ne méritait pas réellement le nom de JIT car le code mis en cache était quand même interprété par la VM un peu à la façon de opcache...

Tu as plus d'infos sur le sujet ou ton commentaire sur le fait que l'un soit plus bas niveau que l'autre est purement gratuit?
Avatar de miky55
Membre averti https://www.developpez.com
Le 23/06/2015 à 21:26
Citation Envoyé par sazearte Voir le message
Je préfère des testes porté sur du concret, que sur des outils de benchmark, ou certain acteurs (je ne dirais pas nom) optimise leurs programmes pour ces outils, juste pour faire grossir les chiffres.
Les tests sont réalisés sur des cms et framewoks connus parce-que ça parle aux gens, ça ne veut absolument pas dire qu'ils ont été uniquement optimisés pour ces cms... Par contre dans tous les cas les tests sont réalisés avec des outils de benchmark.
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 23/06/2015 à 21:35
Les tests sont réalisés sur des cms et framewoks connus parce-que ça parle aux gens, ça ne veut absolument pas dire qu'ils ont été uniquement optimisés pour ces cms..
C'est justement ce que je voulais dire .

Je préféré avoir des benchmark sur des cms (cas concret), que sur des logiciel spécialisé (ou ils sont "truqué"
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web