[Openmcl-devel] 64 bit vs 32 bit
Raffael Cavallaro
raffaelcavallaro at mac.com
Fri Jun 12 05:08:22 PDT 2009
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:
<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
More information about the Openmcl-devel
mailing list