Benchmark PHP5… quelques idées pour optimiser

Comment grappiller quelques microsecondes par ci ou par là quand on développe en PHP ? Je viens de découvrir un document très instructif à ce sujet (ici) et je voulais citer quelques pistes pour y parvenir.

  1. Les simples quotes VS les doubles… ça ne fait plus vraiment débat et ça commence à être su, il faut dans tout les cas utiliser les simples…
  2. Ne pas utiliser la fonction is_null(), préférer la vérification $var===NULL qui est 2 fois plus rapide ! Entre nous, pensez aussi à isset() et empty()…
  3. Quelle structure de contrôle choisir ? Cela dépend du nombre d’alternative que vous avez. Pour moins de 3 ou 4, il est plus rapide d’utiliser le bon vieux if/elseif mais il se trouve qu’au delà de 5 environ le switch/case est plus véloce. Par contre, l’opérateur ternaire ( $var = ($var==1) ? ‘un’ : ‘pas un’; ) est dans tous les cas plus lent ( et moins lisible… mais je l’aime bien quand même dans certain cas :p).
  4. Les boucles : for / while ou foreach ? J’avoue, j’ai été assez surpris des réponses que j’ai trouvé et je crois que ma façon de coder va un peu changer… En fait, il se trouve que le foreach() est hyper lent ! Oui oui, la boucle que j’utilise 9 fois sur 10… bouh et personne ne me l’avais dit !! Donc utilisez while( list($key,$val)=each($array) ) à la place d’un foreach($array as $key=>$val). C’est surprenant non ! Bon bah moi ça m’a surpris… EDIT : continuez à utiliser des foreach, c’est bien plus rapide en fait… FOREACH FOREVER (voir ce sujet pour comprendre)
  5. Pour finir, préférer la méthode fopen/fread/fclose plutôt que le file_get_contents() et fopen/fwrite/fclose plutôt que le file_put_contents()…

Voilà, je vous invite aussi à faire un tour par là si le sujet vous intéresse…

Partager cet article :
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • blogmarks
  • Pownce
  • Reddit
  • Scoopeo
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis
  • Wikio
  • Tumblr

Laisser un commentaire