Améliorations de performance pour PHP
Emmanuel Gautier / May 15, 2014
2 min read
Dimitry Stogov, ingénieur chez Zend Technologies, a annoncé il y a quelques jour par un post sur les news du site officiel du langage PHP des améliorations effectuées sur le moteur. Ces améliorations sont le fruit d'intenses travaux de refactoring sur celui-ci. Pour rappel le moteur interne de PHP est tenu par la société Zend qui a donné son nom au moteur.
L'amélioration de la vitesse d'exécution a été la principale préoccupation de Dimitry Stogov depuis la version 5.0. Sa première approche fut celle d'analyser les cycles d'utilisation du CPU ce qui le conduit à mettre en oeuvre des technologies JIT. Néanmoins les gains de performances furent assez pauvres. Face à ce peu d'améliorations, un refactoring fut décidé.
Ce refactoring consiste en le changement de représentation de certaines variables, passant celles-ci de représentation sous forme de pointeurs et de références en données structurées. Ce changement a pour but de minimiser la masse d'allocation mémoire effectués et donc d'améliorer les performances par ce biais. Afin de connaître les résultats de ce refactoring des tests ont été effectués sur des applications et on constate un gain de performance plus que significatif. On note un gain de 20% pour Wordpress 3.6, 11.7% pour Drupal 6.1 et 30.5% pour une application fait avec Zend Framework.
Ces améliorations sont effectives dans la version 5.5 du langage PHP et d'autre améliorations devraient apparaître pour les versions à venir. Cette news est une bonne nouvelle pour une majorité des sites web étant basés sur ce langage. Même si les résultats de ces améliorations différeront d'un site web à un autre, elles devraient tout de même donner un coup de vitesse à vos sites web.
Consulting
Si vous recherchez des solutions à un problème ou avez besoin de conseils, je suis là pour vous aider ! N'hésitez pas à réserver un call avec moi pour une session de consulting personnalisée. Discutons de votre situation et trouvons ensemble la meilleure solution à implémenter.
Articles sur le même sujet
Mettre en place memcached sous Ubuntu
Memcached est un système de cache permettant de stocker des données directement en mémoire. Ce système de cache permet aux sites web et aux bases de données, entre autres, d'accroître leur vitesse. Le principe de ce gain de vitesse est d'échanger des temps d'accès disque assez lents par des temps d'accès mémoire beaucoup plus rapide, le seul désavantage étant la consommation mémoire pouvant être importante selon les données stockées.
Creer un serveur Linux, Nginx, MySQL, PHP
Apache n'est pas le seul serveur HTTP existant pour desservir des applications écrites en PHP, de nombreux autre existent dont Nginx. Dans le cas de l'utilisation de Nginx pour desservir des applications PHP on appellera cela une pile LEMP pour Linux, Nginx, Mysql et PHP.
Importante mise à jour de Composer
Il semblerait que Noël soit fêté avant l'heure au sein de la communauté PHP. Le gestionnaire de paquets PHP, Composer, a reçu une importante amélioration de performance aujourd'hui.
Articles mis en avant
Comment activer la vérification de typage pour Python dans VSCode
Python supporte désormais le [type hints](https://docs.python.org/3/library/typing.html). Dans cet article, nous allons voir comment avoir de l'IntelliSense pour le typage ainsi qu'avoir les erreurs de typage sur Visual Studio Code.
Comment gérer l'internationalisation avec NextJS SSG
Générer statiquement un site avec le framework NextJS pour différentes langues n'est pas si simple.
Utilisateurs et privilèges sous MySQL
L'administration d'une base de données inclue la gestion des utilisateurs et de leurs privilèges. La plupart du temps, une interface graphique, telle que MySQL Workbench ou PHPMyAdmin, est disponible pour réaliser de façon simple les actions liées à cette gestion. Dans ce tutoriel, nous allons voir comment réaliser la gestion des utilisateurs MySQL au moyen de requêtes SQL.