IBM FRANCE

Les environnements informatiques sont fondamentalement hétérogènes par nature d’abord parce que les capteurs et sources d’...

Lire la suite

PHP 7 des performances impressionnantes !

Par:
fredericmazue

ven, 22/05/2015 - 16:13

PHP 7 dont la version alpha devrait arriver au milieu de cette année, nous promet des performances impressionnantes, d'après un billet de Zend qui est à la tête du projet PHP, billet repéré par developpez.com.

PHP 7, selon Zend et pour résumer, c'est 30% de mémoire consommée en moins et 100% d'améliorations en moyenne sur la performance brute. Des benchmarks ont été réalisés notamment avec Drupal, WordPress, SugarCRM qui écrasent les résultats obtenus par PHP 5.6 et HHVM 3.7.

C'est aussi des performances monstres par rapport à d'autres langages : Ruby, Python  Perl... Par exemple nous voyons que PHP 7 est 400% plus rapide que Python, et ne parlons pas de Perl, pour tracer une fractale de Mandelbrot. Cela dit les fractales de Mandelbot calculées sur un serveur pour être transformées et images rendues dans un navigateur, c'est plutôt rare :-)

Bref PHP 7 c'est de la bombe, vous l'avez compris. Il en va toujours ainsi dans les présentations de Benchmarks. Les politiciens disent : les chiffres on leur fait dire ce qu'on veut, les informaticiens pourraient dire les benchmarks on leur fait dire ce qu'on veut

Il convient donc de relativiser et de bien regarder les résultats. Comme toujours il y a la question  : que mesure-t-on et par rapport à quoi ? Mesurer le temps de calcul d'une fractale c'est bien gentil, mais les résultats de PHP 7, pour ébouriffants qu'ils soient, ne vont pas nécessairement ébouriffer les développeurs Web. Les serveurs de fractales ça ne courent pas les rues. Il aurait été bien plus intéressant par exemple de regarder les performances au niveau des expressions régulières que la quasi totalité des développeurs Web utilisent à un moment ou à un autre et qui sont parfois de réelles source de ralentissement.

Ce qui nous amène aussi au par rapport à quoi. En l'occurrence Perl n'a jamais été conçu pour calculer des fractales lui non plus, mais les expressions régulières sont son terrain de jeu favori. Donc comparer à Perl c'est une chose, mais il aurait été intéressant de comparer les performances de PHP avec les expressions régulières à celles de Perl. Pour ne prendre que cet exemple.

Et puis aussi, dans un benchmark, c'est bien de ne pas être trop partisan. Comparer PHP à Python d'accord, mais pourquoi comparer le tout nouveau PHP 7 à un déjà fort ancien Python 2.7.8. Python en est à sa version 3.4, et les Python 3.x sont beaucoup performants que les Python 2.x.

Cette relativisation et ses réserves faites, PHP 7 est malgré tout très prometteur et c'est une bonne chose.

Il est important pour les développeurs web de noter que des fonctionnalités indiquées comme dépréciées depuis longtemps, notamment la fonction d'expression régulière ereg et la vieille interface de connexion à MySQL seront supprimées de PHP 7.

Commentaires

-100% de performances brute : soit une réponse instantanée. Waouh trop fort PHP 7 !

Une amélioration de 100% sur le performance signifie qu'il répond deux fois plus vite qu'avant

Le jour ou PHP sera disponible en version thread safe et qu'il disposera de véritables fonctiona atomiques (ce qui, n'est pas pour demain matin vu la rare incompétence de Zend dans ce domaine), j'envisagerai peut-être de l'utiliser pour de petites applettes sans importance. Pour le reste, et surtout pour les performances, il n'y a que le C. Mais là, ça demande des connaissances et compétences d'une autre ampleur que celles des gentils pisseurs de lignes PHP.

Before sending the arrow of thruth, plunge the head into a honey pot. (Cheyenne thought).

Je veux bien être pendu si l'auteur de ce commentaire, qui signe Fnux, ne se prénomme pas Pierre :-)

Non, pas du tout. Je ne sais pas à qui tu penses car en plus je ne connais pas de Pierre à part un ancien pote journaliste de la presse spécialisée Jovanovic. ;-)

Before sending the arrow of thruth, plunge the head into a honey pot. (Cheyenne thought).

Bon Frédéric, comme tu ne t'es pas pendu (fort heureusement d'ailleurs), ce qui serait intéressant maintenant serait d'avoir accès aux codes sources de ces différents "benchmarks" et surtout de connaitre l'outil de benchmark utilisé pour les mesures et les environnements d'exécutions respectifs, à savoir : Config Harware, OS et sa version, Serveur Web et Navigateur utilisés et leurs versions, etc... pour que ces tests puissent être reproduits ailleurs dans des conditions "fiables" et répétables !

Parce que sinon, manipuler des charts, tout le monde sait le faire !

Sinon, merci d'arrêter de publier de tels benchmarks qui ne sont rien d'autre que du "publi-reportage" financé par Zend, qui n'ont aucun intérêt et qui déservent ta crédibité.

Amitiés. Fnux.

Before sending the arrow of thruth, plunge the head into a honey pot. (Cheyenne thought).

Je m'étais pendu, mais l'attaque personnelle m'oblige à revenir aux affaires. On n'est décidemment tranquille nulle part :-)

Cette actualité n'est pas du publi-rédactionnel, c'est juste une actualité. Je pense avoir écrit suffisamment de remarques et de réserves dans le texte pour que les annonces ronflantes de Zend soient relativisées. Je ne vois pas en quoi il y a un problème de crédibilité.

Salut Frédéric.

Heureusement que tu t'es dépendu car l'attaque n'avait rien de bien méchant.

Par contre, même s'il est vrai que tu as effectivement mis des remarques et des réserves justifiées, je ne vois pas en quoi il est utile - intéressant de publier deux graphiques bien pipotés par Zend, que personne ne peut essayer de reproduire par manque total d'information (voir même par le simple manque de disponibilité de PHP7), et qui en plus font la pub de Sugar CRM sans donner le moindre indice sur l'environnement de test utilisé.

Si ce n'est pas du publi-reportage, c'est bien dommage que ta rédaction n'ait pas été payée pour ça car ça y ressemble sérieusement tellement c'est gros.

Je serais d'ailleurs très intéressé de savoir quel serveur http Zend a utilisé pour faire tourner du perl !

Sans rancune, et surtout ne te pends plus pour ça, les pseudos gourous de Zend n'en vallent vraiment pas la peine ;-).

Before sending the arrow of thruth, plunge the head into a honey pot. (Cheyenne thought).

Que d'histoires pour deux illustations d'un article :-)

Re salut Frédéric,

C'est vrai, mais quand les deux illustrations sont les seules, largement pipotées par Zend, directement issues de la page de l'éditeur (http://www.zend.com/en/resources/php7_infographic) donc non vérifiées et surtout non vérifiables (aucun élément de comparaison possible, choix de vieilles versions des langages concurrents, aucune information sur les environnements et outils de tests utilisés), on peut légitimement se poser la question de l'objectivité du fond qui ressemble fort à une simple reprise de PR, même s'il y a des remarques dans ton papier, non ?

Allez, sans rancune car j'aime bien lire tes articles quand même, même si certains me font un peu sauter sur ma chaise. ;-)

Before sending the arrow of thruth, plunge the head into a honey pot. (Cheyenne thought).

Bouh...

Que d'histoires pour deux illustations d'un article.

Que d'histoires et de procès d'intention pour absolument rien.

La source des infos est citée avec un lien qui pointe dessus. Donc ce n'était pas utile de le redonner dans votre commentaire. C'est même totalement ridicule, surtout de la part de quelqu'un qui vient faire la leçon sans peut-être même avoir bien lu.  Les infos sont relativisées et critiquées. Je ne vois pas le problème avec l'article, ni l'intérêt de continuer cette discussion absolusement stérile pour ne pas dire plus. Vous n'aimez pas PHP, vous n'aimez pas Zend, c'est votre droit. C'est bien compris. Pour ma part je ne validerai plus d'autres commentaires de cette veine. 

Je viens de tomber sur votre commentaire et je suis très choqué et vexé. Je n'interviens que très rarement sur les forums mais je ne peux pas laisser passer votre fiel.

Je développe en c et en php entre autre et réduire les développeurs utilisant php à de simples gentils pisseurs de lignes est insultant.

Je crois qu'il y a bien longtemps voire peut-être jamais que vous n'avez jeté un oeil ou fait du php et prétendre tout faire facilement en simplement qu'avec du c est un "petit peu réducteur".

Et tant qu'à faire moi aussi je peux etre désagréable : êtes-vous réellement un informaticien ?