How much of a performance increase will 64-bit Leopard bring?


Although I’m not in the camp that has major issues with Vista on mobile devices, I am very curious about the other side of the fence. Namely, how will performance increase on my 2.33 GHz Core 2 Duo MacBook Pro due to Leopard when it releases later this month? Yes, I’m making an assumption here: I’m stating that performance will increase, which is the opposite experience many folks have had with Vista. Let’s consider this brief post a conversation starter, because I don’t have all the answers (although I am looking for them).

The reason I’m making the leap that my MBP performance will increase is because Leopard is a 64-bit operating system with 32-bit app and driver compatibility; I could well be wrong there, so set me straight. Only one version of Leopard will be available, which is very different from Vista’s discrete 32- and 64-bit versions. Granted, any expected performance boost would like come from true 64-bit apps only and folks running on older CPUs (i.e.: non-Core 2 Duos) will be stuck in 32-bit mode. How about it Mac knowledgable: are my expectations unreasonable or is there more juice left in this Apple? If I am right: what’s the expected impact on battery life?



Now it can be told… found their new features page so the cat is out of the bag.

What Apple did right about 64 bit in Leopard…

The Kernel is 32 bit on both Intel Core 2 Duo/Xeon (only Intel chips with 64 bit) and on the G5 (only PowerPC with 64 bit). So all of your existing device drivers continue to work with 64 bit applications. And those of you with G5’s get seamless 64 bit as well, not just those with new Intel CPU’s.

This feature also means that 32 bit and 64 bit applications run side by side at the same time. You are not forced to find a 64 bit version of all of your tools in order to be able to run that one 64 bit tool you need.

Developers can take advantage of multi-architecture binaries to bundle software so it can run 32 or 64 bit. One copy of the application with runtime detection of architecture, if it can run 64 bit it will, if can’t it can run 32 bit. (for all those Core Duo and Power PC’s that are 32 bit only)

All 64 bit applications are loaded starting a 4GB. If your code isn’t 64 bit clean it croaks immediately. :-)

Loading 64 bit applications at 4GB also allows Apple to leave a map to 32 bit space in place. Thunking back and forth is very very clean, especially for shared libraries. Your 64 bit code does not have to be pure 64 bit! (Solaris its one or the other)

64 bit architecture has a totally clean no compromises ABI that cleans up several issues still present in the 32 bit ABI. It is also more “future proof”, they took all they learned from years of supporting the 32 bit ABI and wrote the 64 bit ABI.

All this is built using Apple’s latest hopped up compilers which take code generation to a whole new level on the Intel CPU’s e.g. pretty much across the board speed boost for re-compiled applications (which is the whole OS, built in Apps and all the iApps.)

Not specific to 64 bit support but Apple re-architected critical areas in Quartz in order to boost performance to the GPU (not CPU, GPU) for Core Animation etc… Many Quartz operations benefit from this work as well so the UI is snappier for 2D and 3D operations.

They also provided a new means for setting up insanely fast stream I/O operations. Applications have to be upgraded to use this stuff but it enables a whole new level of performance for slinging around large amounts of data.


I’m no Mac expert, but the marketing material seems to indicate that Leopard will take better advantage of the processors in the Mac Pro and server, as well as open that power up to developers. Furthermore, the focus seems to be on leveraging this to run more powerful apps, not to run existing apps faster. I’m under the impression you won’t see much of a difference on your MBP.


Brian E be ready to eat a plate of crow come Oct 26. :-)

Even before the iPhone cut in line and took away resources Leopard had already been given a longer development cycle. Apple used that time to do some serious house cleaning and remodeling “back stage”.


As someone who programs 64 bit apps on Tiger already (only commandline apps), I don’t think you’ll see much of a difference going to 64 bit in terms of speed of execution.

However, according to public info on, Leopard will support proper thread-affinity for multithreaded applications. This is a significant performance bottleneck on Tiger (basically, what happens is that threads can ‘jump around’ from one core to another, causing excessive cache misses, etc.) On Leopard, threads will stay put on the same core for longer periods of time, making multithreaded apps run faster (I’m estimating up to 30% improvement when using all 8 cores on my Mac Pro).

Patrick Harms

While it’s true that most things eat up more memory when going from 32bit to 64bit, AMD added some registers to the CPU that are available when running in native 64bit mode, so more stuff can be kept in those registers and less has to go back to slow RAM. Also, having more address space helps programs that use really huge amounts of memory (like a database server or the stuff I write for a living). So in theory the 64bit code could be more efficient.

In practice however there is rarely a performance benefit from going to 64bit. The 64bit compilers are still a lot worse at generating efficient code (this is especially true for gcc, which historically produces sub-optimal code from an efficiency standpoint). Also, as switching from 64bit to 32bit operation mode costs a lot of CPU cycles, I’d say that there will be no noticable performance gains from going to 64bit. If Leopard performs any better, then it’s very likely not because it’s a 64bit operating system, but because Apple did a lot of optimizing on their code base.

BTW: Windows NT’s (XP’s, Vista’s) 64bit implementation is very clean and fast and works really well. The perceived “awfulness” most likely comes from the lack of mature drivers for most hardware (because most driver developers – especially for today’s GPUs – are seemingly not very good at what they do). If OSX would have to support even one percent of the amount of different hardware that Windows has to, people would complain about that, too.

Ben Drawbaugh

The amazing thing about the two OSX upgrades I’ve done is that the new system is faster even without any 32/64 bit changes. And both of these were in place upgrades.

Brian E

Vista’s approach to 64-bit is awful, but Leopard is nothing special. Sun’s Solaris has been doing the 64-bit with full 32-bit compatibility thing for a long time now. Even Linux looks clunky next to it.


as noted, technically a 64 bit system will slow everything down, all other things kept the same. But all other thing are never kept the same.
Intel chips deliver many more registers for compiler use in 64 bit mode, so some operations can be sped up, but I wouldn’t expect much more than a break even.
Of course Apps that use 64 bits data types, and have been jumping through hoops up until now will see a big increase due to native support.
And overall I think I can say leopard is nicely faster than Tiger, especially in the finder, but I’d think thats unrelated to 64bit stuff.


Remember, Apple’s Universal Binaries now support 32- and 64-bit for both Intel and PPC (the G5 is 64 bit). As I understand it, Leopard’s 64-bit support should make more of a performance difference on Intel, though. The PPC architecture was clean from the outset, but in the x86 world they (AMD actually) took the opportunity to clean things up (many general registers, etc.), so an x86 chip in 64-bit mode is more efficient than one in the 32-bit, legacy-supporting mode, and hopefully we’ll see some performance improvements.


Absolutely correct, which is what makes what Apple has done so gosh darn cool compared to Vista. And don’t forget, the iPhone is built on Leopard, not Tiger… :-)


Well first, you shouldn’t assume 64 bits automatically means better performance. With it comes overhead to operations that worked perfectly well in 32 bits. For example, a lot of internal structures now eat up twice as much memory by default (think of a “1” stored in 32- vs. 64-bits). Sure, that should be offset by some improvements and optimizations elsewhere, but by default it just means that everything is bigger (and not necessarily better). Maybe we’ll see some real numbers closer to launch, but I would tend to think that if there really were huge performance boosts, Apple would have been playing it up by now. And don’t forget that there was a lot of hype that 10.4 was “64-bit”. But since it wasn’t a complete 64-bit implementation, I guess they get to use the same tag lines all over again.

All that said, Apple does have a bit of a track record in actually improving performance with its OS releases. It’s not always consistent across the board, of course, but generally not the sort of “time-to-buy-a-new-computer” upgrade experience you get with Windows.


With out revealing too much, your statement in red about what Leopard is, is fundamentally incorrect.

It is far far cooler than you realize and will make Redmond look pretty gosh darn stupid for the way they handled 64 bit mode in Vista.

Comments are closed.