cma at cmadams.net
Thu Jun 2 10:22:09 EDT 2016
Once upon a time, Jesper Skriver <jesper at skriver.dk> said:
> The flip side is that all pointers are twice the size, in an application like rpd I'd expect most of the memory usage to be pointers, so we can expect ~2x the memory usage. That coupled with memory access typically being the bottleneck makes it less obvious that the same code will run faster when compiled as 64bit.
That's the eternal argument around larger address space. But the
previous post was right; the 32-bit x86 architecture is pretty severely
register limited, and the 64-bit x86_64 extentsions helped with that a
lot. Lots of things that had to go to RAM and back in 32-bit code can
now be passed in registers, which saves a lot of overhead (this is shown
in lots of places).
In architectures without the limited register set, moving from 32 to 64
bit was not as clear cut, but x86 to x86_64 is a big improvement.
Also, you'd only see double the RAM usage if every single thing stored
was a pointer (and no actual data was stored somehow). Since that's
obviously not the case, RAM usage would be nowhere near double.
Chris Adams <cma at cmadams.net>
More information about the juniper-nsp