x86_64 for OS X?

From: Simon Metcalf <Simon.Metcalf_at_nyahnyahspammersnyahnyah>
Date: Thu Jan 27 2011 - 18:33:36 MST


I was wondering if it's possible to build the OS X binaries for x86_64 like some of the other releases? I'm currently using the i386 binaries successfully, but some research has indicated that x86_64 may perform better. Apple's own XCode IDE now defaults to x86_64 since they haven't sold non x64_64 capable machines for quite a while. Is it much work to compile for this architecture as well, especially for the upcoming version 6? I would like to test the performance with some multi-gigabyte .nc files. Who should I contact (if not here) to request this version to be added to the distribution list?



The following is some information/comments I found on i386 vs. x86_64 online.

>From http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/64bitPorting/indications/indications.html

Myth #5
Myth: My application will run much faster if it is a "native" 64-bit application.
Fact: Some 64-bit executables may run more slowly on 64-bit Intel and PowerPC architectures because of increased cache pressure.
On Intel-based Macintosh computers, you may see some performance improvement. The number of registers and the width of registers increases in 64-bit mode. Because of the increased number of registers, function call parameters can be passed in registers instead of on the stack. The increased register width makes certain performance optimizations possible in 64-bit mode that are not possible in 32-bit mode. These improvements will often (but not always) offset the performance impact caused by increased cache pressure.

>From http://stackoverflow.com/questions/3266902/differences-between-compiling-for-i386-vs-x86-64-in-xcode

x86_64 binaries are faster for a number of reasons; faster ABI, more registers, on many (most & all new machines) machines the kernel is 64 bit & kernel calls are faster, etc.etc.etc...
While 64 bit has a bit of memory overhead directly related, generally, to how pointer heavy your app's data structures are, keep in mind that 32 bit applications drag in the 32 bit versions of all frameworks. If yours is the only 32 bit app on the system, it is going to incur a massive amount of overhead compare to the 64 bit version.
64 bit apps also enjoy the latest and greatest Objective-C ABI; synthesized ivars, non-fragile ivars, unified C++/ObjC exceptions, zero-cost @try blocks etc... and there are a number of optimizations that are only possible in 64 bit, too.

RFS Disclaimer:
This email message is intended only for the addressee(s) and contains information which may be confidential. If you are not the intended recipient, please notify the sender and delete this email and any copies or links to this email completely and immediately from your system. Views expressed in this message are those of the individual sender, and are not necessarily the views of the NSW Rural Fire Service.

ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
Received on Thu Jan 27 18:34:53 2011

This archive was generated by hypermail 2.1.8 : Mon Jan 31 2011 - 10:38:24 MST