I notice in C and C++, we can use int64_t
, or simply a long long
.
If I compile 32bit code using these types, will I suffer any perform
If I compile 32bit code using these types, will I suffer any performance issues on 64bit and/or 32bit machines?
64 bit integers on 32 bit architectures require two registers to store the value*. 32 bit values require only one register. This matters because:
Bottom line is that if 32 bit performance is important, don't use 64 bit integers unless you need them.s
* This is true for x86, ARM, and PowerPC processors, which covers most of the processors people program for these days. It is probably true of most other processors as well.