mod( )演算は、2倍より少し大きい%
乗算()よりもコストがかかるのはなぜですか?*
CPUが除算演算を実行し、MOD演算の結果を返す方法について具体的に説明してください。
次の例では、スレッドはそれぞれ1秒間実行されます。テストは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.
}