Tại sao hoạt động MOD
đắt hơn multiplication
nhiều hơn một chút so với factor of 2
? Xin hãy cụ thể hơn về cách CPU thực hiện phép toán phân chia và trả về kết quả cho hoạt động MOD.MOD có hoạt động mạnh hơn CPU nhân?
Trong ví dụ sau, mỗi luồng chạy trong một giây. Thử nghiệm được thực hiện trên bộ xử lý 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.
}
Cả hai ví dụ mã đều giống nhau. –
Đã khắc phục sự cố. – Leonid
Phiên bản có '+' ở đâu? ^^ –