El 16/11/07, Xavier Andrade <[EMAIL PROTECTED]> escribió:
>
> Bueno, por ejemplo si se llama repetidamente a rutinas chicas que hacen
> poco, el rendimiento se reduce en al menos un orden de magnitud en
> comparacion al mismo codigo "inlined".
>
> Es decir:
>
> for(i=0; i<N; i++) a[i] = b[i] + c[i];
>
> es muchisimo mas rapido que
>
> for(i=0; i<N; i++) a[i] = sum(b[i], c[i]);
Depende.
Si en C haces algo así:
#include <stdio.h>
#define SUM(A,B) A + B
int main(void)
{
int x = 5, y = 10, z;
z = SUM(x,y);
printf("%i\n", z);
return 0;
}
El preprocesador de C reemplaza la operatoria en tiempo de
compilación, y permite hacer cosas como esa sin pérdida de ciclos en
tiempo de ejecución.
--
Rodrigo Fuentealba