xorax
mardi 21 février 2006 à 09:55
oui je vien d'éssayer voilà les résultats pour ceux que ça interresse :
aplication de la formule nbr^e
CODE
<br>e=66 nbr=2345 time=0.00013089179992676
<br>e=66 nbr=23 time=4.6014785766602E-005
<br>e=132 nbr=2345 time=0.00033807754516602
<br>e=132 nbr=23 time=9.2983245849609E-005
<br>e=264 nbr=2345 time=0.0013420581817627
<br>e=264 nbr=23 time=0.00025081634521484
<br>e=528 nbr=2345 time=0.0035789012908936
<br>e=528 nbr=23 time=0.00083804130554199
<br>e=1056 nbr=2345 time=0.011358022689819
<br>e=1056 nbr=23 time=0.0026140213012695
<br>e=2112 nbr=2345 time=0.032015085220337
<br>e=2112 nbr=23 time=0.008634090423584
<br>e=4224 nbr=2345 time=0.10129499435425
<br>e=4224 nbr=23 time=0.025021076202393
<br>e=8448 nbr=2345 time=0.3072030544281
<br>e=8448 nbr=23 time=0.076842069625854
<br>e=16896 nbr=2345 time=0.95268702507019
<br>e=16896 nbr=23 time=0.23299193382263
<br>e=33792 nbr=2345 time=2.7823059558868
<br>e=33792 nbr=23 time=0.7032299041748
<br>e=67584 nbr=2345 time=8.4500279426575
<br>e=67584 nbr=23 time=2.1169030666351
<br>e=135168 nbr=2345 time=25.198705196381
<br>e=135168 nbr=23 time=6.3891258239746
aplication de la formule nbr%m
CODE
<br>m=6 nbr=89394865109840023762841911904532 time=3.0040740966797E-005
<br>m=6 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=18 nbr=89394865109840023762841911904532 time=2.5033950805664E-005
<br>m=18 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=54 nbr=89394865109840023762841911904532 time=2.5033950805664E-005
<br>m=54 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=3.0040740966797E-005
<br>m=162 nbr=89394865109840023762841911904532 time=2.5033950805664E-005
<br>m=162 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=486 nbr=89394865109840023762841911904532 time=2.4080276489258E-005
<br>m=486 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=1458 nbr=89394865109840023762841911904532 time=2.4795532226563E-005
<br>m=1458 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.4080276489258E-005
<br>m=4374 nbr=89394865109840023762841911904532 time=2.4080276489258E-005
<br>m=4374 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=13122 nbr=89394865109840023762841911904532 time=2.3841857910156E-005
<br>m=13122 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=39366 nbr=89394865109840023762841911904532 time=2.4080276489258E-005
<br>m=39366 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=118098 nbr=89394865109840023762841911904532 time=2.3841857910156E-005
<br>m=118098 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=354294 nbr=89394865109840023762841911904532 time=2.4080276489258E-005
<br>m=354294 nbr=8939486510984002376284191190453289394865109840023762841911904532 time=2.5033950805664E-005
<br>m=1062882 nbr=89394865109840023762841911904532 time=2.5033950805664E-005
<br>m=1062882 nbr=8939486510984002376284191190453289394865109840023762841911904532
le calcul des modulo est donc insignifiant comparer au calcul des puissance
et le code toujours pour ceux que ça interresse :
CODE
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$e = 33;
$n = 12;
while($n>0){
$e = bcmul($e,2);
$begintime = microtime_float();
bcpow(2345,$e);
echo "\r\n<br>e=$e \t nbr=2345 \t time=".(microtime_float()-$begintime);
$begintime = microtime_float();
bcpow(23,$e);
echo "\r\n<br>e=$e \t nbr=23 \t time=".(microtime_float()-$begintime);
$n--;
}
echo "\n\r<br>\n\r";
$begintime = microtime_float();
$n = 12;
$m=2;
while($n>0){
$m=bcmul($m,3);
$begintime = microtime_float();
bcmod(89394865109840023762841911904532,$m);
echo "\r\n<br>m=$m \t nbr=89394865109840023762841911904532 \t time=".(microtime_float()-$begintime);
$begintime = microtime_float();
bcmod(8939486510984002376284191190453289394865109840023762841911904532,$m);
echo "\r\n<br>m=$m \t nbr=8939486510984002376284191190453289394865109840023762841911904532 \t time=".(microtime_float()-$begintime);
$n--;
}
mais ça m'interresserait quand même d'avoir les formules pour vraiment optimiser le truck... surtout pour les puissances en fait

PS: résultat sur un P4 3.0GHz HT donc moin rapide qu'un serveur je suppose (parce que apache utilise qu'un seul processeur... :nono: )