When moving an application from 32bit to 64bit, where will increased memory usage occur?
I understand that pointers will double in size, I suspect that the chars in a string are ‘bunched’ to use memory more efficiently (so will not use much more memory).
Where else would memory usage increase? Is there anywhere that it would decrease, or where non-arithmetic operations would see a speed benefit?
You may see additional alignment to cost a few extra bytes here and there. Code will probably be larger due to 64 bit constants in operands.
As for speed, you may experience slowdowns due to the increased memory usage. The CPU cache will fill up more quickly.
I have seen significant speed benefits going from x86 going to x64, because the x86 has far fewer registers than the x64 architecture. Compilers make use of the extra registers to better optimize your code. I saw 15% speedup on identical hardware.