Promoting i386 version over x86_64?

Gregory Maxwell gmaxwell at gmail.com
Thu Nov 19 08:13:19 UTC 2009


On Wed, Nov 18, 2009 at 9:13 PM, King InuYasha <ngompa13 at 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. :)




More information about the fedora-devel-list mailing list