, 1 min read
Which is faster: integer addition or XOR?
The bitwise exclusive or (e.g., 1110 XOR 1001 = 0111) looks simpler to compute than integer addition (e.g., 2 + 9 = 11). Some research articles claim that XOR is faster. It appears to be Computer Science folklore. But is it true?
Which line runs faster? (The symbol “^” is the XOR.)
for(int k = 0; k < N; ++k) sum+= k;
for(int k = 0; k < N; ++k) sum^= k;
My result: In C++ and Java, both run at the same speed (within 1%).
Code: My source code is on github.