> physically). What you often gain going to a 64 bit CPU is the ability > to do 64 bit arithmetic in one instruction, and store the variables [...] > 32 bit calculations, then it doesn't matter, so in many cases it isn't an > issue, but when it matters it can really make a difference in performance.
AFAIK the difference is only visible for operations on *integer* of size 64bit (and more). Some programs make significant use of such operations, but in general they're not that common. So I'd be surprised if "you often gain". Note also that you will sometimes *lose* performance by going to 64bit because the pointers use up twice as much space, so if your program needs to store&manipulate many pointers, it will use up more cache space and memory bandwidth, which will tend to slow it down. IOW unless you know your workload very well, the best prediction I could make is "you won't notice any difference". In the x86 world, moving from i686 to amd64 has the additional advantage that the amd64 mode has more registers which is useful in many more cases than just the manipulation of large integers. And yet, even there I find it hard to notice any difference. Stefan