Categories
Archive

Geek Report: Key OS X Code not PowerPC Optimized?


Apple may have missed an opportunity to improve OS X application performance by 10-12% when it incorporated 68k (CISC), non-RISC / PowerPC optimized-code. In a report on Unsanity, one of the Haxies developers reports that the Mach-O ABI (Application Binary Interface), “which defines how every application in the system executes and calls functions (stack conventions, register usage, and more” was optimized for the CISC architecture of 68k (Motorola) and later x86 (Intel) processors on which the NeXT operating system ran, not the PowerPC RISC architecture Macs use today. “Mac OS X uses an ABI designed for CISC processors, mostly ignoring RISC design principles,” says Unsanity, in contrast to the fully RISC-optimized ABI in Mac OS 9.

In an update to the original report (apparently influenced by an Archive Apple informant), the report goes on to say that “Mac OS X was originally not moved to the PPC ABI because the NeXT Toolchain used the Mach-O ABI and it would have delayed the release of OS X a few months. Now Apple is spending a few months to speed up OS X in ways that may not have been necessary if they had gone with the PPC ABI in the first place.” (Conspiracy theorists suggesting this is all part of an Apple plan to migrate to CISC processors, doesn’t sound like you have much to stand on here.)

Now, obviously, us laypeople should avoid jumping to conclusions, especially those of us incapable of writing so much as a “Hello World!” application. Nonetheless, the article and comment threads offer an insight into the OS development process, and it may well be that Apple has missed opportunities to optimize performance by rushing OS X development. Check out the Unsanity.org weblog and discussion and the comments on the Slashdot post. The main quest at this point seems to be, will Apple recover any lost performance? Experienced developers out there, feel free to set us straight.

By Jason O'Grady

Founded the PowerPage in 1995.