Ca doit être aussi évident que le nez au milieu du visage...
Sur ta config, avec ton proc. L'OS permet peut-être un meilleur alignement. La finalité des opérations est la seule qui compte. Il faudrait faire un test simple avec quelques calculs (racine carrée, cosinus, tangente, exponentielle), sur beaucoup de config pour savoir réellement. Et au final on ferait quoi? Un code pour chaque situation?
les résultats des benchmarks cité sont un peu bidon il s'emploie sur le temps.
Sous linux la fonction suivante : (c'est du C)
renvoie le nombre de cycle utilisé par l'application depuis qu'elle a été lancé.
bien sur il faut faire une boucle très grande car si le processeur est peu sollicité il est bridé(du moins sous mon linux la fréquence est la plupart du temps a 700mhz et passe a 1.7ghz lorsque qu'il est très sollicité) et plus il y a d'itération plus la résultat est précis.
Sous linux la fonction suivante : (c'est du C)
Code : Tout sélectionner
unsigned long long RDTSC(void)
{
unsigned long long r;
__asm__ volatile (".byte 0x0f, 0x31" : "=A"(r));
return (double)r;
}
Code : Tout sélectionner
c1 = RDTSC();
//opération dans une boucle
//temps de l'opération : ((RDTSC() - c1)/Fréquence du processeur)/Nombre d'itération de la boucle