©
. Document créé le 16 octobre 2010 , mis à jour le 16 octobre 2010.Les hommes vieillissent toujours mal quand ils restent jeunes. Romain Gary (Au-delà de cette limite...)
Accueil du site > Astuces > PHP > Optimiser son code PHP (boucle for ou while)
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% |
Les forums sont fermés.