Je voulais éclaircir un point de la documentation avec vous.
Comme je vais devoir tirer plusieurs milliers de nombres aléatoires, je me dis : chouette ! Mais avant, un test de précaution :Par défaut, PHP utilise le générateur de nombres aléatoires de libc avec la fonction rand(). mt_rand() est une fonction de remplacement, pour cette dernière. Elle utilise un générateur de nombres aléatoire de caractéristique connue, le " » Mersenne Twister " qui est 4 fois plus rapide que la fonction standard libc.
$b = new Hoa_Bench();
$b->rand->start();
for($i = 0; $i < 100000000; $i++) rand();
$b->rand->stop();
$b->mt_rand->start();
for($i = 0; $i < 100000000; $i++) mt_rand();
$b->mt_rand->stop();
echo $b; Même pas peur, allons-y pour 100 millions de tirages.Le résultat est le suivant :
Code : Tout sélectionner
rand ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 23804.974 ms, 92.585 %
mt_rand |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 25711.369 ms, 100 %