This isn't the place to launch into a deep analysis of Intel's second-generation Core i7 technology, but a summary is in order. These are very new CPUs, released to retail by Intel in February 2011. They are based on a 32-nanometer fabrication process, allowing Intel to pack a lot of low-power transistors into a very small space. A single processor die houses four independent computing cores that run at widely varying clock speeds depending on workload and power management instructions from the OS.
Each core is capable of running considerably faster than its rated clock speed through a feature called Turbo Boost. For example, the 2.2GHz CPU in the 17-inch MacBook Pro can execute instructions at up to 3.3GHz if it can avoid getting too hot. Here's where the metal-vs.-plastic argument gains traction. A PC notebook's plastic case acts as an insulator, pooling heat around components, while MacBook Pro's unibody aluminum chassis dissipates it. The Mac is better able to keep heat-generating components like the CPU, GPU, wireless, RAM, hard drive, and battery (during charging) cool. In the past, this has allowed MacBook Pro to avoid the thermal throttling commonplace in PC notebooks. Today, it means Mac notebook cores can kick into Turbo Boost more often. That Mac notebooks are faster than PC counterparts isn't Apple fanboy mythology. It's by design.
Boosting the RAM speed by nearly one-third over prior generations, from 1,066MHz to 1,333MHz, figures significantly in speed improvements. This pairs nicely with the increase in Level 3 cache size, and it makes a RAM upgrade to the maximum 8GB a smart and affordable investment. You can upgrade your system's RAM yourself after purchase. Just don't buy the cheap stuff.
I elected to use SPECjbb2005 (Java server benchmark) as the primary CPU benchmark. This test simulates business transactions on a multithreaded host, providing insight into CPU and memory throughput and scalability. Progressive throughput benchmarks like SPECjbb2005 measure how much work can be put through the system before it slows down. You want to see significant increases in transactions as threads are added, up to the number of physical cores.
In server-class systems and clients with Hyper-Threading, I also look for a smooth downward ramp from the peak, indicating that the architecture will likely handle an overload of work without slowing down the whole system. To ensure a consistent environment, the tests were run with a maximum 1GB Java heap, which is just shy of what's needed to run 32 SPECjbb2005 threads.