Vous êtes ici Articles > Qui va le plus vite - while ou for ?

 

Qui va le plus vite - while ou for ?

Du coté PHP
 
KOogar
Vu 9193 fois
Enregistré le 29 Mars 2007
  • Digg cet article sur digg.com
  • Bookmark cet article sur del.icio.us
  • Bookmark cet article sur Google
  • Bookmark cet article sur Yahoo
  • Ajoute Qui va le plus vite -  while ou for ?
  • Partage cet article sur Facebook
 
 
 
 

Qui va le plus vite - while ou for ?


Les webmaitres demandent beaucoup au sujet de while et for. Lequel des 2 est le plus rapide?
J'ai pris les devants et j'ai créé un test qui calcul le temps d'execution avec while et un autre test qui calcul le temps d'execution avec for. Je suis heureux de voir que John Walsh arrive à un résultat similaire sur un article qu'il publie sur son blog. Nos méthodes de test sont completement différents mais pas le résultat.

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
 
<?php  
  
define ('MAX',20000);
  
function f1()  
{  
    $a=0;
    while($a <= MAX){
        echo $a'<br />';
        $a++;
    }  
}  
  
  
function f2()  
{  
    for($a=0$a<= MAX$a++){
        echo $a'<br />';
    } 
}  
  
  
$t1 microtime(true);
f1();  
echo 'Temps 1: ' , (microtime(true) - $t1) , "<br />";

$t2 microtime(true);  
f2();  
echo 'Temps 2: ' , (microtime(true) - $t2) , "<br />";

?>


Résultats:
Temps 1: 0.172783
Temps 2: 0.155426


Il semblerait aprés plusieurs tests que la boucle for soit legèrement plus rapide que la boucle while. Je dit lègerement car ayant pris 20 000 itérations lors du test, je n'ai obtenu que 0.02 seconde comme différence. Sur des routines plus classique, cette difference ne sera que de quelques millisecondes.

Inutile de faire de gros calculs mentaux, vous pouvez programmer librement en utilisant soit for ou soit while sans vous souciez du temps d'execution !!
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Quelques articles qui devraient vous intéresser