PHP INITIÉ - Qui va le plus vite - while ou for ?

PHP INITIÉ - 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.

PHP INITIÉ - Qui va le plus vite - while ou for ?

.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 !!