143Fermer145
PolluxLe 12/10/2007 à 14:55
Thibaut (./137) :
Merci pour tout smile

Comment expliquer le fait que la fonction de squalyl (qui multiplie par 31 en pleine boucle) soit plus rapide que la version du PJD optimisée par Pollux (qui ne fait que 2 additions) ? Tu optimises à la compilation ? Je me demande si c'est pas parceque le compilo fout les variables sur la pile au lieu d'utiliser 2 registres.

Sinon on peut voir que la fonction de Pollux ne renvoie pas le même hash que la fonction de DJB.

La version que j'ai donnée est optimisée en vue des 68k : un décalage par 5 coûte assez cher, donc ma version est nettement plus rapide sur 68k. Par contre sur un x86 moderne ça doit pas améliorer bcp ^^ (les shifts et les multiplications sont hyper rapides)

Et puis elle renvoie pas le même hash modulo 2^32, par contre elle renvoie bien le même hash modulo 2^10 : 0x7E6BB1 vs 0x2B7757B1 happy