• [^] # Re: Quelques précisions sur les perfs

    Posté par . En réponse à la dépêche Sortie de PHP 7.0 - un nouveau départ. Évalué à 10. Dernière modification le 10 décembre 2015 à 11:50.

    La différence de perf HHVM/PHP 7 est pas énorme maintenant et j'ai l'impression que HHVM tire surtout son épingle du jeu sur des grosses infras (wikipedia, facebook...) ce qui est normal vu qu'il a été créé pour répondre aux problématiques de Facebook, le plus gros site web au monde (1 milliard d'uttilisateurs connectés en permanence). Par contre HHVM est compatible PHP mais pas entièrement, il y a tout de même de la réécriture de code à mettre en place pour tirer partie de HHVM alors que PHP 7 est largement une solution "drop-in" si on a du code relativement PHP récent.

    De mon point de vue donc, PHP 7 est une solution de migration beaucoup plus simple et efficace, par contre si on a du vieux code PHP (genre pre-5.3), à mon avis il y a un gros boulot de nettoyage pour que ça marche dans PHP 7 ou dans HHVM, dans ce cas, vu qu'il faut réécrire plein de trucs, ça peut être intéressant de passer à Hack/HHVM plutôt que migrer à PHP 7.

    Après, il est évident que tant php 7 que HHVM sont sur un chemin de convergence, il y a dans PHP 7 des nouveautés prises directement d'HHVM et Facebook participe à l'écosystème PHP, par exemple ils ont fourni la première spec officielle PHP qui a été adoptée par php.net et qui est maintenue conjointement par les deux équipes et pour chaque RFC de PHP 7, les devs HHVM donnent leur feedback et ont aussi un droit de vote.

    Personnellement, je pense qu'HHVM a sa place dans l'écosystème PHP, ils ont la possibilité d'avancer plus vite que php.net étant donné leurs ressources humaines et des contraintes plus faibles (pas de consensus communautaire nécessaire par exemple) par contre l'équipe de PHP fait de mon point de vue des choix plus pérenne en regardant ce qui marche dans HHVM (et d'autres langages) et en implémentant que ce qui a un impact réel tout en maintenant une compatibilité ascendante maximale avec les dizaines de milliers de libs php existantes, ce qui n'est pas forcément un objectif d'HHVM qui peut donc implémenter et expérimenter des fonctionnalités plus rapidement mais pas forcément plus proprement. Si on lit la liste php-internals, on voit que même des devs facebook disent que la syntaxe de la feature X était pas forcément un bon choix et que si PHP.net implémente la feature plus proprement, ils feront évoluer HHVM et Hack pour se rapprocer de l'implém officielle.

    Pour moi la grande qualité d'HHVM c'est d'avoir rebooté la communauté PHP sur les questions de performances, la compétition est une bonne chose et la collaboration aussi, sur ce coup, l'investissement de Facebook, Intel et Microsoft en plus de Zend et des centaines de contributeurs bénévole a vraiment fait évoluer le langage mais aussi l'écosystème PHP dans le bon sens.