mars
2009
Un petit article de Sara Golemon qui nous rappelle combien il est facile d’optimiser ses scripts PHP en sachant comment fonctionne le ZendEngine.
J’ai d’ailleurs comme projet d’écrire prochainement une extension pour PHP
Il s’agira bien sûr d’une extension de test, car le travail est long et fastidieux (du C quoi ^^).
Je conseille vivement le livre de Sara à ceux qui sont intéressés (Extending and enbedding PHP)
J’ai fait le test de mon coté :
> php -ad vld.active=1 Interactive shell php > echo "julien pauli sous php5"; Branch analysis from position: 0 Return found filename: php shell code function name: (null) number of ops: 3 compiled vars: none line # op fetch ext return operands ------------------------------------------------------------------------------- 2 0 ECHO 'julien+pauli+sous+php5' 3 1 RETURN null 2* ZEND_HANDLE_EXCEPTION php > $me = "julien pauli"; echo "$me sous php5"; Branch analysis from position: 0 Return found filename: php shell code function name: (null) number of ops: 7 compiled vars: !0 = $me line # op fetch ext return operands ------------------------------------------------------------------------------- 1 0 ASSIGN !0, 'julien +pauli' 1 INIT_STRING ~1 2 ADD_VAR ~1 ~1, !0 3 ADD_STRING ~1 ~1, '+sous+ php5' 4 ECHO ~1 2 5 RETURN null 6* ZEND_HANDLE_EXCEPTION
Comme on peut le voir, on dirait que depuis la date de l’article de Sara (2006), il y a eu de gros progrès en matière d’OPCode, on voit nettement que chez moi (PHP 5.2.6 pour le coup), il y a moins d’OPCodes que sur le code de Sarah qui date de PHP 5.1 probablement.
Des micros optimisations internes qui font que PHP 5.x est toujours plus rapide que PHP 5.x-1
Commentaires récents
Archives
- novembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007