Je suis tombé complètement par hasard (enfin, par celui des apports de Blogdigger) sur un article présentant 12 astuces pour optimiser les performances de son code PHP suite à une présentation sur le sujet d'Ilia Alshanetsky à la Zend Conference (les slides sont disponibles).
C'est tellement pertinent que je les reprends telles quelles ici, en français :
- Si vous pouvez déclarer une méthode statique
static, faites-le : les performances sont multipliées par 4. - Éviter les méthodes automagiques comme
__get,__setou__autoload. require_onceet son copaininclude_oncesont très coûteux.- Utilisez des chemins absolus dans les appels à
requireouincludequand vous le pouvez : PHP perdra moins de temps à résoudre les chemins système. - Utilisez
$_SERVER['REQUEST_TIME']plutôt quetime()pour obtenir le temps système. - Voyez si vous ne pouvez pas utiliser
strncasecmp,strpbrkandstriposplutôt que de recourir aux expressions régulières. preg_replaceest plus rapide questr_replacestr_replaceest bien entendu beaucoup plus rapide quepreg_replace[1], maisstrtrest 4 fois plus rapide quepreg_replace!- L'emploi de tableaux en tant qu'arguments des fonctions de remplacements de chaînes de caractères est plus couteux que l'utilisation multiple de cette même fonction chaîne par chaîne à remplacer.
- La suppression de la sortie d'erreur par l'emploi du caractère @ est très coûteuse.
$row['id']est 7 fois plus rapide d'accès que$row[id].- Les messages d'erreur en général sont coûteux.
- N'utilisez pas de fonctions à l'intérieur des boucles comme
for ($x=0; $x < count($array); $x++): ici la méthodecount()est appelée à chaque itération.
Notes
[1] Le billet lié est erroné sur ce point, et je l'avais traduit tel quel. La lecture des slides de la conférence m'aura permis de réctifier le tir.

Derniers commentaires