On Leopard’s 64 bits and such
 
I attended a Leopard Tech Talk in Munich this week, and I have to say that it was very interesting. I hope that Apple is going to host more developer events outside of the U.S.
 
While the Tech Talk is under NDA, it is public for quite a while that Mac OS X 10.5 is going to be a 64 bit OS. What does that mean for you?
 
Well, you could start with this very interesting entry on the “Living Photoshop” blog called “64 bits...when?”. Like certain other entries on that blog, it’s really great at dissecting some marketing spin and giving you the real deal. And to quote from that blog entry: “64-bit applications don't magically get faster access to memory, or any of the other key things that would help most applications perform better.”
 
So yes, the fact is: 64 bits will not make things magically faster, period. Notice how when you read closely what’s spelled out in Apple’s own blurb or Intel’s 64 bit pages, none of them is promising an overall speed increase, simply because there isn’t one. Yes, code running in 64 bit mode on an Intel CPU can use extra registers that can accelerate some code, but that has nothing to do with extra bits and everything to do with the x86 architecture being register starved. Note how PPC CPUs for example don’t see this difference, simply because they started with enough registers from the beginning.
 
64 bit Leopard won’t make stuff more precise. Any code that wishes to do calculations using 64 bit floating point precision can do that already. Same goes for 64 bit Integer arithmetic.
 
More memory? You can already stuff 8 GB  RAM into your G5 tower running Tiger, Leopard won’t give you extra RAM slots either. While 32 address bits can address only 4GB, the parts responsible for dealing with physical RAM already know how go beyond 4GB.
 
Now that we’ve established what 64 bit doesn’t do, what does it do for you or for the people that write your apps? It means that a single application can see and use more than 4GB RAM easily. Who’s going to profit from that? Not your web browser (how long does it take to download 4GB anyway?), not your mp3 player (you’re listening to only one song at a time anyway) and not your word processor (you can’t type that much even if you wanted to). Applications that are processing lots of data can profit. Can. See the Adobe blog entry that I mentioned above on why they don’t have to.
 
So please, do yourself and the people who write the applications you use a big favor: don’t constantly ask them for a 64 bit version just because. The developers of your applications are the ones who know best if they are going to benefit from 64 bits, and chances are those who will are already working on it.
 
Also, making a full blown fully working 64 bit version on Leopard is not a cakewalk. It means extra development effort and extra QA effort. Extra effort that will not result in extra features for everyone. Effort that could be spent much better on fixing annoying bugs or implementing new kickass features that will run on both 64 bit and 32 bit computers.
 
Don’t buy into the 64 bit hype. There are applications that benefit from 64 bits and some of them benefit tremendously. But many others won’t, and you can save yourself a lot of headache by simply not worrying about it.
Friday, February 9, 2007