MOD
multiplication
से factor of 2
से थोड़ा अधिक महंगा क्यों है? सीपीयू डिवीजन ऑपरेशन कैसे करता है और एमओडी ऑपरेशन के परिणाम के परिणाम के बारे में अधिक विशिष्टता प्राप्त करें।क्या एमओडी ऑपरेशन गुणा से अधिक CPU गहन है?
निम्नलिखित उदाहरण में प्रत्येक थ्रेड प्रत्येक सेकेंड के लिए चलाया जाता है। परीक्षण 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.
}
दोनों कोड उदाहरण समान हैं। –
समस्या को हल किया गया। – Leonid
'+' वाला संस्करण कहां है? ^^ –