Leopard IS 32-bit! No 64-bit kernel, nor apps in Leopard :(
So, Steve Jobs was boasting how cool the Leopard is, and how it is 64bit all through... So I spent about 30 minutes today, trying to find A SINGLE APPLICATION that has anything more than just i386 + PPC code in it. None. Nada. Nill. Everything, and I mean Everything - /bin, /sbin, /usr/bin, /usr/sbin, /Applications - everything is i386+PPC.
Even the kernel is 32-bit.
WTF???
P.S. To verify what kind of executable the application has, you can use "file" command in Terminal - it shows all executable types in the app:
$ file /mach_kernel
/mach_kernel: Mach-O universal binary with 2 architectures
/mach_kernel (for architecture i386)tMach-O executable i386
/mach_kernel (for architecture ppc)tMach-O executable ppc
Even the kernel is 32-bit.
WTF???
P.S. To verify what kind of executable the application has, you can use "file" command in Terminal - it shows all executable types in the app:
$ file /mach_kernel
/mach_kernel: Mach-O universal binary with 2 architectures
/mach_kernel (for architecture i386)tMach-O executable i386
/mach_kernel (for architecture ppc)tMach-O executable ppc
Comments
Leopard moves us to full 64 bit application support. Support is provided for all core frameworks including Carbon and Cocoa. This enables applications using those frameworks to get full 64 bit benefits."
"Going 64-bit is considered part of going Universal, so application developers should start thinking about migrating to 64-bit. In Leopard, the full API stack is mostly available to 64 bit binaries. The Leopard kernel will still be 32 bit."
http://macguild.org/wwdc/wwdc06.html#Kernel
So yes, 32-bit kernel that can run 32-bit drivers etc -> no driver issues like you see in Vista.
The apps that you have found are most likely ones that won't benefit from being 64-bit. If an app only addresses 100-200MB Ram, why make it 64-bit?
Hence, it is more efficient to make apps 32bit unless they fundamentally need 64bit addressing or incredibly precise calculations. No bundled apps fit this criteria. (except for perhaps iMovie, and even that is questionable)
Keep in mind that in windows, 64bit APIs have been optimized such that they are quicker than their 32bit counterparts. The speed isn't from the extra bits though. Rather, it is from the extra optimization.
So, Steve Jobs was boasting how cool the Leopard is, and how it is 64bit all through... So I spent about 30 minutes today, trying to find A SINGLE APPLICATION that has anything more than just i386 + PPC code in it. None. Nada. Nill. Everything, and I mean Everything - /bin, /sbin, /usr/bin, /usr/sbin, /Applications - everything is i386+PPC.
Even the kernel is 32-bit.
WTF???
P.S. To verify what kind of executable the application has, you can use "file" command in Terminal - it shows all executable types in the app:
$ file /mach_kernel
/mach_kernel: Mach-O universal binary with 2 architectures
/mach_kernel (for architecture i386)tMach-O executable i386
/mach_kernel (for architecture ppc)tMach-O executable ppc
The two kernels you list are 32 bit. the amd64 aware/intel emt 64 you don't list.
What does your system have for a CPU set?
Moving 64bits around is slower than moving 32bits. Twice the data is being moved.
Hence, it is more efficient to make apps 32bit unless they fundamentally need 64bit addressing or incredibly precise calculations. No bundled apps fit this criteria. (except for perhaps iMovie, and even that is questionable)
Keep in mind that in windows, 64bit APIs have been optimized such that they are quicker than their 32bit counterparts. The speed isn't from the extra bits though. Rather, it is from the extra optimization.
64bit CPU move 64 bit words in _one CPU cycle_, so no, they don't work slower, they work at least as fast as 32-bit, and have the capacity to move 64 bits of data in exactly the same amount of time, which would be twice faster, as compared to 32 bits.
The two kernels you list are 32 bit. the amd64 aware/intel emt 64 you don't list.
What does your system have for a CPU set?
I don't list any "two kernels", I list _one_ kernel, which contains _two_ codebases within: 32 bit Intel and PPC. It does not contain any 64-bit code in it.
$ uname -a
Darwin mymacbookpro 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386 i386
I have Core 2 Duo.
Apple said in tests they did (search the apple dev lists on carbon i think) almost all the apps INCLUDED would be bigger, take up more RAM and see no performance improvement. Now iLife may get 64-bit in its next version, but iLife isn't part of Leopard. Photoshop and InDesign would be nice to have in 64-bit. I also know that on Server MySQL is running in 64-bit, though I don't think apache is.
Again, there is no point in making all APPS 64-bit. The OS is now fully 64-bit all the way up to the UI. But just because an app can be 64-bit, doesn't mean it should be.
Chess: Mach-O universal binary with 4 architectures
Chess (for architecture ppc): Mach-O executable ppc
Chess (for architecture ppc64): Mach-O 64-bit executable ppc64
Chess (for architecture i386): Mach-O executable i386
Chess (for architecture x86_64): Mach-O 64-bit executable x86_64
[imac-g5:Chess.app/Contents/MacOS] akac% file Chess
Chess: Mach-O universal binary with 4 architectures
Chess (for architecture ppc): Mach-O executable ppc
Chess (for architecture ppc64): Mach-O 64-bit executable ppc64
Chess (for architecture i386): Mach-O executable i386
Chess (for architecture x86_64): Mach-O 64-bit executable x86_64
Thank you.
I don't list any "two kernels", I list _one_ kernel, which contains _two_ codebases within: 32 bit Intel and PPC. It does not contain any 64-bit code in it.
$ uname -a
Darwin mymacbookpro 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386 i386
I have Core 2 Duo.
You list a kernel set of 2 CPU types. The reason: Universal Apps. PPC won't run on your system, but the installed Kernel set for XNU is Unversal aware.
I'm also not certain whether you have a Core 2 Duo or a Core Duo.
What does the CPU bit set say in System Profiler?