I've read two interesting articles about the Core Duo that have reinforced some of my thoughts and educated me in others. One is over at AnandTech and the other is on TG Daily. I'm sure most really hardcore users in the Mac community have read and digested this information, but I still get a lot of emails from people who want to know more about the performance delta between the Core Duo and the G5. So, I'm going to do my best to provide a summary here.
When Apple introduced Intel-based Macs, they claimed that the new iMac was 2-3 times as fast as the iMac G5 and that the MacBook Pro was 4-5 times faster than the PowerBook G4. Obviously, Apple oversimplifies performance metrics in their marketing materials. I believe this happens for a couple of reasons. First, it's marketing. You emphasize the good and bury the bad. Second, Apple really does want to make computers more approachable and so they don't want to communicate the complicated differences in performance between processors models and architectures. Saying the new iMac is "2x Faster" is easier for Joe Consumer to grasp than "Offers up to three times the performance in applications that are appropriately multithreaded, written in C++ and complied using Intel's tools, although single thread FPU performance is generally lower." I just don't see that getting printed on a sales booklet.
If we really dig down into all the benchmarks and applications tests, a couple of things become clear to me. Each core on the Core Duo offers better (sometimes slightly, sometimes dramatically) performance than the G5 in most tasks, while lagging overall in FPU performance. Of course, the Core Duo has two processor cores, while the G5 (in the iMac) has only one. Despite this fact, superior fabrication technology allows the Core Duo to operate both cores at similar clock speeds of the G5, but with much lower power consumption and heat dissipation.
So, why do so many application benchmarks indicate a very small performance delta in many Universal Applications? There is more to the performance of a computer than the CPU. Software is a huge factor and how software is made affects how efficiently a CPU can execute the software's code. Mac OS X is based on NeXTSTEP/OPENSTEP. As a result Apple has heavily promoted the use of Objective C to developers on OS X. Objective C lends itself to rapid application development when used in conjunction with the Cocoa API in OS X. As a result, a lot of smaller developers and most of Apple's own applications are written in Objective C.
Objective C is compiled using GCC. Intel's chips really don't shine performance-wise unless applications are complied using Intel's own compiler. Intel has made this complier available on Mac OS X, but it will not compile Objective C. It only compiles C++.
So, many of these wonderful Universal Binaries that are appearing for Intel Macs are not utilizing the processor as well as the could be. We won't see the best the Macs have to offer until either Intel supports Objective C in their compiler or the Mac developer community shifts over to C++.
Who knows when of if that will happen.
As always, the comments are open.