[Openmcl-devel] 64 bit vs 32 bit

Jon S. Anthony j-anthony at comcast.net
Fri Jun 12 06:11:44 PDT 2009

On Fri, 2009-06-12 at 08:08 -0400, Raffael Cavallaro wrote:
> On Jun 12, 2009, at 1:51 AM, Neil Baylis wrote:
> > Is there any advantage to using the 64 bit version on a system with  
> > less than 4 GByte of memory? Is it superior to the 32 bit version in  
> > any other ways?
> You might also want to take note of the fact that foreign calls are  
> significantly slower on the 64-bit intel CCL than the 32-bit intel CCL:

Is that on all Intel platforms?  Below, Gary speaks only to Darwin and
about extra system calls required on that platform.  What's this like on

Also, I believe that 64 bit Intel is not register starved like 32 bit
Intel ==> compiler/optimizer not nearly hamstrung  as much needing to
spill registers to temporaries.  That would likely increase performance
on Intel 64 over 32 in many cases - maybe most?.  That is born out in
some tests I've done (admittedly only a few at present) where Intel 64
(on Darwin(!)) with 1GB tended to be 3X faster than FC5 Intel 32 with
2GB.  OK, memory was a non issue in these handful of examples.  Maybe
this was down to the register mismatch.


> <Gary Byers quoted below>
> "there's a lot
> more overhead in a Darwinx8664 foreign function call than there
> is on other platforms."
> "(let (t1 t2 t3 t4)
>   (setq t1 (#_mach_absolute_time))
>   (setq t2 (#_mach_absolute_time))
>   (setq t3 (#_mach_absolute_time))
>   (setq t4 (#_mach_absolute_time))
>   (format t "~%t2-t1=~A, t3-t2=~A, t4-t3=~A" (- t2 t1) (- t3 t2) (- t4  
> t3)))
> generates results like:
> t2-t1=341, t3-t2=146, t4-t3=140
> in 32-bit Darwin x86 CCL, and generates results like:
> t2-t1=1995, t3-t2=1809, t4-t3=1795
> on x86-64 Darwin.  That's pretty pronounced - rouughly an order of
> magnitud - and it's directly attributable to those extra syscalls
> (Getting rid of the syscalls would speed up ff-call on x86-64 Darwin,
> but would would make one less register available for general use
> and would likely slow down many other things.)"
> Raffael Cavallaro
> raffaelcavallaro at me.com
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list