Un compilateur Php ?

Posted on 03/01/2008 · Posted in Système

Ceux qui me traite de geek ne peuvent pas comprendre.. Ce matin, sous la douche m’est venu une idée, pourquoi ne pas compiler le code php ?

En effet, j’utilise Drupal depuis quelques semaines maintenant, et je m’appercois qu’il nécessite plus de temps à l’affichage que pour des sites plus simples. En effet, quand on connai un peu le code du CMS, on comprend vite qu’il fait appel à de nombreux traitements, que se soit des inclusions, ou de simple vérification de condition.. au final, on obtient quelques choses de plus lent qu’un site classique.

J’ai donc été faire un tours du coté de google, et j’ai découvert eAccelerator, et Zend Optimizer.

Le principe étant que le code php est interprété par votre serveur à chaque demande de visiteur. Durant cette interprétation, le code est analysé (syntaxe, grammaire..) puis compiler pour être exécuter (on parle quand même d’interprétation, même si on est bien loin de l’interprétation HTML de votre navigateur).

Le petit eAccelerator se propose de conserver en mémoire vive le code compiler pour le réutiliser si un utilisateur souhaite consulter à nouveau la page.

Quand à Zend Optimizer; il me semble qu’il compile le code et ensuite une machine Zend permet de ‘exécuter.
Deux avantages à cette solution, optimisation dans certain cas de la vitesse d’exécution, et chiffrement du code source vu qu’il est transformé en byte code.

Article connexe : Javascript et PHP sont-ils des sources de ralentissements ?

Edit 11 Janvier 2010 : Roadsend à développer un compilateur PHP qui fournit du Bytecode exécutable directement par votre système d’exploitation.
Il existe une version Unix, FreeBSD et Windows.