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 :

  1. Si vous pouvez déclarer une méthode statique static, faites-le : les performances sont multipliées par 4.
  2. Éviter les méthodes automagiques comme __get, __set ou __autoload.
  3. require_once et son copain include_once sont très coûteux.
  4. Utilisez des chemins absolus dans les appels à require ou include quand vous le pouvez : PHP perdra moins de temps à résoudre les chemins système.
  5. Utilisez $_SERVER['REQUEST_TIME'] plutôt que time() pour obtenir le temps système.
  6. Voyez si vous ne pouvez pas utiliser strncasecmp, strpbrk and stripos plutôt que de recourir aux expressions régulières.
  7. preg_replace est plus rapide que str_replace str_replace est bien entendu beaucoup plus rapide que preg_replace [1], mais strtr est 4 fois plus rapide que preg_replace !
  8. 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.
  9. La suppression de la sortie d'erreur par l'emploi du caractère @ est très coûteuse.
  10. $row['id'] est 7 fois plus rapide d'accès que $row[id].
  11. Les messages d'erreur en général sont coûteux.
  12. N'utilisez pas de fonctions à l'intérieur des boucles comme for ($x=0; $x < count($array); $x++) : ici la méthode count() 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.