PHP 8 a introduit un compilateur juste à temps (JIT), un progrès significatif visant à stimuler les performances. Contrairement aux versions précédentes qui reposaient uniquement sur un interprète, le compilateur JIT traduit des sections fréquemment exécutées de code PHP dans le code machine natif à l'exécution. Ce processus de traduction permet au processeur d'exécuter directement le code, en contournant la surcharge d'interprétation. L'amélioration provient de l'optimisation de l'exécution des chemins de code "chauds" - parties de l'application fréquemment appelées pendant l'exécution. Le compilateur JIT analyse les modèles d'exécution du code et identifie ces chemins chauds, en les optimisant pour une exécution plus rapide. Il en résulte des augmentations de vitesse substantielles, en particulier dans les applications à forte intensité de calcul. L'efficacité du compilateur JIT dépend fortement de la nature du code; Les applications avec de nombreuses boucles, des algorithmes complexes ou des tâches répétitives devraient gagner le plus.
par rapport aux versions PHP précédentes, le compilateur JIT de PHP 8 offre des gains de performance considérables, bien que la magnitude de ces améliorations varie considérablement sur l'application. Les tests de référence ont montré des augmentations de vitesse allant de négligeable à plusieurs centaines pour cent. Pour les applications avec des charges de travail informatiques importantes, telles que des calculs mathématiques complexes ou un traitement d'image, les améliorations des performances sont généralement plus prononcées. Dans des applications plus simples ou celles dominées par les opérations d'E / S (comme les interactions de base de données), les gains pourraient être moins substantiels. Les principaux gains de performance découlent de l'évitement de l'interprétation répétée. La surcharge de compilation initiale est amortie sur les exécutions répétées du code machine optimisé. Cela signifie que plus une section de code est exécutée, plus l'avantage de performance est élevé. Les gains ne sont pas seulement en vitesse, mais aussi potentiellement dans une utilisation réduite du processeur, car le code machine optimisé s'exécute plus efficacement. Cependant, il est crucial de se rappeler que les améliorations des performances du monde réel sont fortement spécifiques à l'application et doivent être mesurées plutôt que supposées.
Le compilateur JIT de PHP 8 n'est pas un booster de performance universel pour toutes les applications PHP. Bien qu'il puisse offrir des accéléreuses importantes dans certains scénarios, il pourrait ne pas être bénéfique dans d'autres, ou même introduire des frais généraux. Il excelle dans les applications avec:
I / O Passez souvent plus de temps à attendre les E / S que d'effectuer des calculs. L'impact du JIT sur ces applications est limité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!