Optimiser son code PHP (boucle for ou while)

© Christian PAULUS. Document créé le 16 octobre 2010 , mis à jour le 16 octobre 2010.

L'idéal quand on veut être admiré, c'est d'être mort. Michel Audiard

Accueil du site > Astuces > PHP > Optimiser son code PHP (boucle for ou while)

Optimisation / PHP 5.3.3

Dans les structures de contrôle, les boucles for et while sont à disposition du développeur.

En terme de performance, c’est la boucle while qui souvent l’emportera.

Voici un extrait de code qui teste tour à tour ces deux boucles, une dizaine de fois. Il est possible de modifier également le nombre d’itérations pour chaque boucle.

<?php

$results 
= array(
    
'while' => array(),
    
'for' => array()
);
$nb_tests 10;
$nb_loops 50000;

for(
$nn 0$nn $nb_tests$nn++)
{
    
    
$start microtime(1);
    
    
$ii 0;
    while(
$ii $nb_loops)
    {
        
$ii++;
    }
    
    
$results['while'][$nn] = microtime(1) - $start;
    
    
        
    
$start microtime(1);
    
    for(
$ii 0$ii $nb_loops; )
    {
        
$ii++;
    }     
    
    
$results['for'][$nn] = microtime(1) - $start;

}

echo(
strtr('while'."\t".implode("\t",$results['while']),'.',',').PHP_EOL);

echo(
strtr('for'."\t".implode("\t",$results['for']),'.',',').PHP_EOL);

?>

Dans le cas présent, le résultat :

1 2 3 ... Average
while 0,0031 0,0032 0,0031 ... 0,0032
for 0,0036 0,0036 0,0039 ... 0,0047
86,57% 88,76% 78,75% ... 76,28%

Plussoyez !

Les forums sont fermés.