On Jul 13, 2007, at 8:51 AM, Brian Mastenbrook wrote:
> Duane Winner wrote:
>> The amd64 platform was *slower* than the i386.
>> I'm hoping that this is because there is something I am missing and
>> because I don't know what I'm doing as opposed to just being "SOL".
> There's no reason to expect that 64-bit code will be faster than 32-
> code in general. Bloating the size of pointers by a factor of 2 will
> slow down your application. If you are working with more data than can
> fit in a 32-bit SBCL's heap, or are working with numbers that would be
> bignums in a 32-bit SBCL but are fixnums in a 64-bit SBCL, then the
> benefits will outweigh the costs. Otherwise what you describe is
> what I'd expect.
Well, there is one reason to expect it will be faster: gcc. Compiling
a program with GCC in 64bit mode on an x86_64 box *usually does* make
it faster. This is generally attributed to x86_64 having twice as
many registers available, thus reducing register contention. There's
also somewhat different calling conventions which is probably also
I suspect that if SBCL's optimizer was better, lisp code could also
be able to see a similar speedup. But that's just a supposition with
no real basis.