veilletech.fr
27 août Feed du jour
#06 PHP Article

TypePHP compile le PHP en binaire natif

Du PHP à huit fois la vitesse, mais pas votre PHP.

Swoole publie TypePHP, un compilateur AOT qui traduit le PHP en C++ puis en binaire natif, en extension PHP ou en bibliothèque partagée. Les bancs d'essai du projet annoncent des gains de 6,5× à 10×, mais aucune compatibilité directe avec du code existant n'est revendiquée.

1 min de lecturevidéo 1:15
Partager
Sommaire3 sections
  1. Ce qui se passe
  2. Ce que dit le dépôt
  3. À retenir

Ce qui se passe

L'équipe Swoole ouvre le code de TypePHP, un compilateur ahead-of-time : le PHP devient du C++, puis du code machine. Ni cache d'opcodes, ni compilation à la volée — le binaire tourne directement sur le processeur. Annoncé par Albert Chen en août, avant la sortie d'octobre prévue.

Le compilateur est écrit en PHP et auto-hébergé : le binaire tpc est produit en compilant les sources PHP du compilateur lui-même. Valeurs dynamiques, fonctions internes et réflexion continuent de dialoguer avec le moteur Zend via PHPX.

Ce que dit le dépôt

Trois cibles : exécutable autonome (bin), extension PHP (ext), bibliothèque partagée (lib). Bancs d'essai publiés : bench.php passe de 5,034 s à 0,603 s, micro_bench.php de 13,045 s à 2,021 s, un test sur tableaux typés de 67,6 s à 6,4 s.

Prérequis : PHP 8.4 ou 8.5, GCC 9+ ou Clang en C++17, CMake 3.24+. Licence GPL-3.0 — à peser avant de distribuer le binaire.

Source : Laravel News, Compile PHP to Native Binaries with TypePHP · chiffres et prérequis relevés sur swoole/typephp