Informations PHP8
Informations PHP8
PHP 8, la prochaine version majeure du célèbre langage de développement côté serveur créé par Rasmus Lerdorf, devrait être disponible d'ici la fin de l'année. Parmi les principales nouveautés de cette version, on notera le support attendu de la compilation JIT (Just-in-Time) déjà confirmé, entre autres, par le développeur Joe Watkins.
Sur le plan pratique, nous pouvons définir le JIT comme un mode qui permet d'effectuer la compilation au moment de l'exécution, c'est-à-dire pendant le fonctionnement même d'une application. C'est pourquoi elle est également appelée "traduction dynamique".
Compilation du PSP et du JIT
Dans le cas spécifique de PHP, vous devez vous référer à la VM Zend et aux opcodes (code d'opération), c'est-à-dire aux parties d'une instruction en langage machine qui spécifient les opérations à exécuter.
Les scripts présents dans les sources sont compilés dans des opcodes qui sont des éléments de bas niveau, une caractéristique qui les rend plus efficaces lorsqu'il faut les convertir en code machine et permet de réduire le temps nécessaire à la compilation. Cela vous permet d'exécuter les opcodes via Zend VM directement pendant l'exécution.
Il est également important de garder à l'esprit que le support JIT a été conçu pour être une partie indépendante d'OPcache, le système qui permet de stocker les opcodes en cache, il s'ensuit que la compilation n'aura lieu que lorsque cela sera demandé. Le code machine produit dépend au contraire de l'architecture de référence, ce qui permet de l'héberger directement au niveau de l'unité centrale et non au niveau de la machine virtuelle.
Pas seulement pour le Web
Mais quelles sont les implications d'une version PHP qui, après des années d'attente, vous permettra de profiter des compilations JIT ?
À bien des égards, il s'agit d'une fonction qui a un impact révolutionnaire car elle vous permettra d'utiliser la langue même dans des contextes autres que ceux du Web qui, jusqu'à présent, ont été l'environnement de référence pour la langue.
En outre, ce nouveau mode devrait s'avérer idéal pour tous les projets qui impliquent une utilisation intensive des ressources fournies par les processeurs et, en général, dans tous les scénarios où les performances doivent être supérieures à celles que le PSP peut garantir actuellement.
Pas seulement des avantages
La mise en œuvre du JIT pour PHP est structurellement beaucoup plus simple que ce que l'on peut trouver dans l'interpréteur Python PyPy, dans la V8 pour JavaScript et dans la machine virtuelle HHVM.
Cependant, surtout à un stade précoce, les développeurs et les administrateurs système de PHP seront confrontés à une plus grande complexité, à des procédures de maintenance plus difficiles et à des difficultés de débogage plus importantes.