On Wed, Nov 18, 2009 at 9:13 PM, King InuYasha <ngompa13(a)gmail.com> wrote:
Except, that could be false advertising. In most cases, where CPU
computation is not used heavily, 64-bit is actually SLOWER than the 32-bit
counterpart. Optimizations are narrowing the gap, but it still remains
true.
You might want to try restating that, because what you're saying
sounds like "In cases where the CPU isn't used, 32bit is faster".
Which isn't sensible. What I think you're intending to say that
x86_64 is only faster on small tight pure-compute kernels like data
compression or image processing, but I don't believe that is correct
anymore. The biggest gaps I encounter in x86_64 performance anymore
tend to be due to things like missing optimizations in glibc.
x86_64 supporting 64bit registers is really only a small aspect of the
enhancements. Other important improvements include SSE2 as a mandatory
architectural feature (as well as a number of other things, like
cmov), support for larger processes, improvements to syscall entry,
and a doubling of the registers (also sse registers). The last of
these is very important because x86 has historically been very
register starved and x86_64 makes it basically reasonable.
The primary downside of x86_64 is that the larger pointers increase
memory usage. You might expect to see some loss in performance from
increased cache footprint, but I don't on the multi-megabyte caches on
the desktop CPUs.
Suggest a benchmark.
Now— On a memory starved system. Thats another matter entirely, you
have my full agreement that 32bit installs are better off if the
alternative is 64bits and swapping. :)