From what I have found so far it's clear that programs compiled for a 64-bit architecture use twice as much RAM for pointers as their 32-bit alternatives - https://superuser.com/questions/56540/32-bit-vs-64-bit-systems.
Does that mean that code compiled for 64-bit uses on average two times more RAM than the 32-bit version?
I somehow doubt it, but I am wondering what the real overhead is. I suppose that small types, like short
, byte
and char
are same sized in a 64-bit architecture? I am not really sure about byte
though. Given that many applications work with large strings (like web browsers, etc.), that consist mostly of char
arrays in most implementations, the overhead may not be so large.
So even if numeric types like int
and long
are larger on 64 bit, would it have a significant effect on usage of RAM or not?