Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I worked at AMD as one of the AMD64 (now x86-64, i guess) developers. One huge advantage of 64-bit datapath mode is that you get many more registers. This caused a huge increase in speed even on 32-bit applications running under a 64-bit enabled operating system, because 32-bit x86 has so few registers that you are forced to constantly swap to memory. Note that at AMD we had 64-bit datapaths, whereas at least some of the Intel chips had 32-bit datapaths and thus took twice as long for a 64-bit ALU op (as far as I recall- I could be wrong about intel).

Note that the x86-64 bit architecture gives you flexibility as to what, exactly is 64-bit (logical memory addresses, ALU operations, etc.) depending on mode. Not sure what modes leopard uses. It is possible to use the address space expansion without using 64-bit ALU ops, for example.
 
So you're saying that a 64-bit processor running a 64-bit application will always process the same amount of information at the same speed as a 64-bit bit processor running a 32-bit application?

No, I'm saying in many cases the 32 bit application will run faster than the 64 bit application on the same hardware. 64 bit binaries have higher overhead than 32 bit binaries, so unless the application's runtime profile can actually make use of the 64 bitness (need to address greater than 4GB of RAM, for instance) then 64bit builds are only a hinderance.
 
No, I'm saying in many cases the 32 bit application will run faster than the 64 bit application on the same hardware. 64 bit binaries have higher overhead than 32 bit binaries, so unless the application's runtime profile can actually make use of the 64 bitness (need to address greater than 4GB of RAM, for instance) then 64bit builds are only a hinderance.

From my AMD experience, at least, this is only partially true. In some cases 32-bit software ran faster than 64 bit software on the same hardware - this usually occurred when the 64-bit software was not redesigned to use optimal memory address sizes, so that, for example, the 32-bit software ended up using 3GB of memory, and the 64-bit software ended up needing 6GB of memory (because every 32 bit value became a 64 bit value). In such cases, if you actually had more than 6GB of physical memory, the 64-bit version would still win. If, however, you had between 3 and 6-GB of physical memory, the memory swapping would dominate and the 32-bit ran faster.

(Aside from doubling the needed bandwidth to main memory, 64-bit in this case halved the effective size of the caches).

However, as a general rule, I found that compiling with 64-bit extensions made things faster, due to the aforementioned increase in registers. The best (and truly massive) performance increases occur when you change your code to only use 64-bit pointers when absolutely necessary, and run 64-bit code. Even for code which didn't access "64 bits worth" of data, the speedup was impressive. The only "overhead" in this case is an increased binary size, and increasing binary size affected speed much less than memory thrashing and register thrashing.

Of course, all of this was with gcc 4.x on opterons, so leopard may exhibit completely different behavior.
 
Well as I pointed out above, when people get hold of Leopard they will be able to answer!

As seen in these forums, a decent number of people have their hands on it already.

If anyone comes across any apps that already have 64 bit versions, let us know.
 
So you're saying that a 64-bit processor running a 64-bit application will always process the same amount of information at the same speed as a 64-bit bit processor running a 32-bit application?

Chuckle, in this case learn from your x86 brethren who were the early adopters of 64-bit Linux... or prior to that, 64-bit Solaris, or AIX, or Digital Unix...

Many applications will run slower even recompiled specifically for a 64-bit OS / hardware architecture. Coding for it directly yes there can be a benefit, but it requires some effort in a market of diminishing skills.

The 64-bit capability is much more of a factor on the server side, but even on the desktop side there's some benefit: namely the 32-bit Sun JVM's only address 2GB on a 32-bit OS, wouldn't surprise me if we can get the flat 4GB address space now just as the 32-bit JVM's work on 64-bit Linux.

Moral of the story, as more apps get coded specifically for it there can be some benefit, but the vast majority of applications aren't likely to need a 64-bit environment anyway.
 
Aye, right now all users get benefits from 64bit processors. But in terms of actual speed boosts, only the more memory/processor hungry applications will see any real benefit right now.

This is why the transition to 64bit has been so slow, because it hasn't really been necessary except for very specific use situations. That said, the industry is slowly but surely migrating towards pure 64bit so that way when the time comes when a large number of applications really need it(or OS's need more than 4gb of ram), it's already in place.

In the case of Leopard, it made sense for apple to switch over now, and is a relatively easier process for them to do so as well, as they have way less hardware permutations they have to worry about than people have on the PC side of things.
 
So you're saying that a 64-bit processor running a 64-bit application will always process the same amount of information at the same speed as a 64-bit bit processor running a 32-bit application?

Nope. Sometimes slower, sometimes faster. I posted a fairly thorough summary of everything involved (there's a lot more to it than most people think) here.

In response to the OP:

iirc only Xcode is, but I have a vague memory of Chess or something being 64 bit as well when I went looking around to see what was. Whatever it was it was pretty clear it was just being used as a testbed, not changed for any useful reason.
 
Now that Leopard is out, any word on what apps if any have been updated to 64 bit versions. Or what companies have even made announcements that they are working on 64 bit versions?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.