Journal Optimisation de code C

Posté par .
Tags : aucun
0
19
août
2004
Bonjour,

je cherche à ecrire en C une routine optimisée pour calculer un produit scalaire de deux vecteurs (de taille variable). Comme cette routine sera appelée plusieurs milliers (millions) de fois, je cherche à gagner le moindre cycle processeurs. Ma plate-forme est un athlon-XP (sans SSE2 donc). Pour l'instant j'ai 2 variantes:

C-pure:


double dot(const double *a, const double *b, unsigned long n)
{
register double res=0.0;
register unsigned long i;


for(i=(n/4)*4; i != 0; i -= 4)
{
register (...)