i386 vs amd64?

Peter Jeremy peterjeremy at optushome.com.au
Fri Aug 8 23:12:40 UTC 2008

On 2008-Aug-08 14:36:42 +0200, Oliver Fromme <olli at lurza.secnetix.de> wrote:
>For example, in amd64 mode there are twice as many CPU
>registers available, enabling better optimizations for
>the C compiler.  Furthermore those registers are twice
>as long, which means that 64bit quantities can be handled
>with single processor instructions.

OTOH, this means roughly 4 times as much processor state to save and
restore on a context switch.  It also means that longs and pointers
are 64-bits instead of 32-bits, which makes executables larger (if you
compare executables and libraries on disk between FreeBSD/i386 and
FreeBSD/amd64, the latter are 10-15% larger).  The VSZ of amd64
executables _appears_ significantly larger due to a bug in binutils
and our rtld but this space is never referenced.

>That doesn't necessarily mean that code will always run
>faster in amd64 mode.  There have been reports of certain
>edge cases.  But in general, amd64 code is faster.

As always, the best benchmark is your own application mix.

>Bottom line:  Install FreeBSD/amd64, unless you have
>_specific_ reasons to stay with i386.

Keep in mind that, for most things, FreeBSD/amd64 can happily run
32-bit Linux and FreeBSD/i386 executables (though there's no easy
way to build FreeBSD/i386 executables on FreeBSD/amd64).  This does
not extend to KLDs so 3rd-party 32-bit KLDs (eg the nVIDIA graphics

Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080808/b27265a3/attachment.pgp

More information about the freebsd-stable mailing list