Rectification qui m'a était suggéré sur IRC (oué je fais un peu de pub)
Toujours la plus mauvaise, mais nettement mieux cependant:
avec $taille_tab = count($dispo); qui évite de faire plusieurs count() dans la boucle qui ralentit énormément...
Toujours la plus mauvaise, mais nettement mieux cependant:
Citation :Methode 1: Temps moyen : 0.000 619 438 126 564 secondes (Temps Exec. 619.438126564secondes)
avec $taille_tab = count($dispo); qui évite de faire plusieurs count() dans la boucle qui ralentit énormément...
Code PHP :
<?php
function methode1()
{
$time = microtime(true);
$dispo= range(1, 30);
$i=0;
while($i<20)
{
$taille_tab = count($dispo);
$rand = mt_rand(1, $taille_tab); //on tire entre 1 et la taille de notre tableau.
$a = $rand;
while($a<=$taille_tab)
{
if($a == $taille_tab) unset($dispo[$a]); //on détruit le dernier élément du tableau pour avoir le bon nombre d'élément au prochain tour de boucle
else $dispo[$a] = $dispo[$a+1]; //on décale notre tableau vers la gauche
$a++;
}
$i++;
}
$time2 = microtime(true);
$time = $time2 - $time;
return $time;
}
Conclusion/Résumé:
Citation :Methode 1: Temps moyen : 0.002 463 416 217 09 secondes (Temps Exec. 2463.41621709secondes) (ancienne version)
Methode 1: Temps moyen : 0.000 619 438 126 564 secondes (Temps Exec. 619.438126564secondes) (nouvelle version)
Methode 2: Temps moyen : 0.000 034 199 709 653 9 secondes Temps Exec. 34.1997096539secondes)
Methode 3: Temps moyen : 0.000 029 232 471 94 29 secondes (Temps Exec. 29.2324719429secondes)
Methode 4: Temps moyen : 0.000 172 626 668 93 secondes(Temps Exec. 172.62666893secondes)