CPU benchmarks

I tested the 2.2GHz 17-inch Thunderbolt MacBook Pro against two other Macs: a 2.8GHz Core 2 Duo MacBook Pro and a two-processor, eight-core 2.93GHz Nehalem Mac Pro. The Mac Pro is architecturally closer to the new 17-inch MacBook Pro, and its results deserve consideration if you're looking at 17-inch MacBook Pro as a desktop replacement.

Note that the 2.8GHz Core 2 Duo MacBook Pro I'm using for comparison hails from mid-2009. Apple followed this model with dual-core 15- and 17-inch MacBook Pro models, based on first generation Core i5 and Core i7 CPUs and Nvidia GeForce GT 330M GPUs. Compared to current models, these have slower RAM, half as many cores and Hyper-Threading units, smaller Level 3 cache and less robust GPUs. However, if you bought a machine just nine months ago, you're not likely ready for an upgrade. It's far more likely that you're carrying a Core 2 Duo Mac or PC notebook, so that's my comparison target.

The SPECjbb2005 benchmark results are astonishing. It's not all about more cores. Faster memory, bigger L3 cache, and Turbo Boost help push the 17-inch Thunderbolt MacBook Pro past Mac Pro in single- and dual-threaded tests. You read that right. For some workloads, a Core i7 MacBook Pro is measurably faster than a Nehalem Mac Pro. The new notebook's lead vaporises once the Mac Pro's second CPU, bigger L3 cache and split memory architecture kick in (the lesson: no single-socket workstations!), but any other result would point to faulty engineering. If you read my review of that machine, you'd know that's not a problem with the Mac Pro.

The Mac Pro redeems itself in the face of its DC-powered competition, but the not-so-old guard, the 2.8GHz Core 2 Duo MacBook Pro, along with every notebook of its generation, gets thoroughly skunked, skinned and shamed. Apple claims the new MacBook Pro is twice as fast as Core 2 Duo, my numbers back that up, and most important, it feels that fast.

You'll notice the faster architecture most keenly with tasks that run from memory or CPU cache. Second launches of an app will be lightning quick. Wake from sleep happens almost instantly. Most apps become significantly more responsive after you drive them a bit. That's because the activity moves most used data from relatively slow memory (and even slower disk) to much faster cache.

As with all notebooks, the 5,400 rpm hard drive is the bottleneck. It's hard not to get impatient with disk speed when the rest of the computer is this fast and Apple seems to recognise this. On the 2.2GHz 15 and 17 inch MacBook Pro, you can trade the 750GB, 5,400 rpm SATA drive for a 500GB, 7,200 rpm model, no charge. The 7,200 rpm drive upgrade closes the performance gap between notebook and desktop, but at the cost of added noise, heat, and battery drain. Solid-state drives (SSDs) are available options that I haven't tested in MacBook Pro.

While Intel should get loud applause for its second generation Core CPUs, Apple deserves the credit for bringing a 2x speedup (Core i7 quad-core compared to Core 2 Duo) to market with a seven hour battery life across all three models. Absent a custom tuned OS with scheduling and power management that are fully enlightened about second generation Core i7 and Core i5 features, it's just slightly faster silicon. OS X makes these processors sing.

Incidentally, make sure you use the OS that ships with the new MacBook Pro systems. If you boot from an older Mac or image a new MacBook Pro from an old disk, you'll miss out on the drivers that unlock the architecture's potential.

Notes: Thunderbolt MacBook Pro configured with 2.2GHz quad-core Core i7 CPU, 6MB L3 cache, 4GB 1333MHz DDR3 RAM. Core 2 Duo MacBook Pro configured with 2.8GHz dual-core Core 2 Duo CPU, 6MB L3 cache, 4GB 1067MHz DDR3 RAM. Nehalem Mac Pro configured with two 2.93GHz quad-core Intel Xeon CPUs, 8MB L3 cache, 12GB 1066MHz DDR3 RAM. 

GPU performance

All benchmarks are controversial. There's no such thing as a typical user, so it's almost pointless to try to create performance benchmarks that emulate user experience. Instead, it's often best to try to push what you're testing to its limits and count the number of operations the target hardware can accomplish in a period of time.

Most GPU tests are based on video games. These are enormous fun for reviewers, but they bring in so many variables that results are tough for others to reproduce. It's impossible to know how much of the load is being shouldered by the CPU and how much is offloaded to the GPU. I prefer pure GPU tests and OpenCL, one of Apple's many patentable innovations made open instead, enables these findings.

The open source Displacement benchmark tests OpenCL and OpenGL performance by animating an irregular refractive shape. Taking the screen shot lowers the frame rate by about 20 frames per second.

Notes: Thunderbolt MacBook Pro configured with AMD Radeon HD 6750M discrete GPU, Intel HD 3000 integrated GPU, 1600 by 1000 pixel window. Core 2 Duo MacBook Pro configured with Nvidia GeForce 9600M GT discrete GPU, Nvidia GeForce 9400M integrated GPU, 1440 by 900 pixel window. Nehalem Mac Pro configured with AMD Radeon HD 4870 discrete GPU. Core 2 Duo MacBook Pro results are not directly comparable to Intel and AMD GPUs because a different shape is used, but do reflect relative performance.

I use the open source LuxRender as a raytracing back end for Blender 3D projects. It's fast, and the results are fantastic. The LuxRender team packaged its raytracer into a convenient benchmark called LuxMark. It solves the CPU/GPU problem by letting you test these components separately, but since LuxMark is a throughput benchmark, it also does a great job of testing GPU and CPU together. This is how GPU computing is supposed to be done, so to my mind, the GPU/CPU results are the most relevant.