¿Por qué la operación MOD
es más costosa que multiplication
por un poco más que factor of 2
? Sea más específico sobre cómo la CPU realiza la operación de división y devuelve el resultado para la operación MOD.¿El funcionamiento de MOD requiere más CPU que la multiplicación?
En el siguiente ejemplo, los subprocesos se ejecutan cada uno durante un segundo. La prueba se realizó en un procesador SPARC
.
// multiplication
void someThread() {
int a = 10234;
while (true) {
opers++;
a = a * a;
a++;
}
// opers ~ 26 * 10^6 in a sec.
}
// MOD
void someThread() {
int a = 10234;
while (true) {
opers++;
a = a % 10000007;
a++;
}
// opers ~ 12 * 10^6 in a sec.
}
Ambos ejemplos de código son iguales. –
Se corrigió el problema. – Leonid
¿Dónde está la versión con '+'? ^^ –