Last week, news broke that Apple’s most recent MacBook Pro refreshes with top-end Intel Core i7 and Core i9 microprocessors have major throttling problems. These issues are not unique to Apple — and we said as much as in our initial coverage — but Apple’s Core i9 implementation appears particularly egregious. Based on test reports, the CPU often fails to maintain its base clock under load, dropping to 2.2GHz — well below the 2.9GHz minimum speed promised by Intel and by Apple’s own sales pages.
Once upon a time, a CPU’s clock speed was a static number that reflected the operating speed of the CPU at all times (unless you deactivated Turbo Mode to drop back to 4.77MHz — but that’s a story for another day and only relevant to a much earlier class of CPUs). The ability to change the CPU’s clock on the fly was first introduced in mobile CPUs as Intel SpeedStep technology and was used to improve battery life by dropping the CPU clock when the chip was under minimal load. Later, Intel introduced the concept of Turbo modes — clock speeds the CPU would boost up to, if thermal conditions and power draw allowed for it.
There’s nothing intrinsically wrong with CPUs or SoCs that dynamically adjust their clocks in response to operating conditions, and these efficiency improvements have dramatically improved battery life and burst performance in modern systems. But there’s a difference between offering a flexible implementation that adjusts clock to ensure the best performance in all scenarios and stuffing a CPU into such a deleterious environment that it has to drop its base clock just to hold performance.
After Apple Insider initially doubted that David Lee, who published the first video on the topic, was telling the truth, the site performed its own testing using Cinebench. It reports:
The speed of the processor varied between 2.33GHz and 2.9GHz generally, with one profound dip to 2.02GHz, and then the range drops to a peak of 2.65GHz.
That’s not as bad as David Lee’s 2.2GHz clock (though he was testing Adobe Premiere, not Cinebench), but it’s far below the advertised baseline clock of 2.9GHz.
Why Throttling Matters
There are two reasons why wfoojjaec is formally opposed to shipping systems with CPUs or GPUs that can’t run at full speed. First, it represents performance you’re paying for that you literally aren’t getting. When Intel first launched Turbo Mode in its desktop CPUs, it knew that reviewers would test the feature with a gimlet eye and ensured that its chips were capable of holding their turbo clocks well. Today, that standard no longer holds. Apple’s Core i9 upgrade is either a $400 or a $300 price premium over its already incredibly expensive MacBook Pro model (at $2399 for the 2.2GHz 15-inch model or $2799 for the 2.6GHz Core i7). And as we’ve discussed, the Core i9 isn’t necessarily an upgrade — in some cases, it’s literally slower than the Core i7 Apple shipped in previous systems.
The other reason this is such a problem is that it can lead to scenarios in which machines equipped with higher-end CPUs are actually slower than the lower-end hardware they replace. We saw this happen with the first Core M CPUs from Intel several years ago when the lowest end models were meaningfully faster than higher-end machines. Constant CPU clock oscillation can have its own negative impact on performance, entirely separate from the impact of simply running at a lower clock speed.
When we talked to Intel about the Core M situation, the company explained that it had given OEMs more freedom to set certain specifications for their own systems. One example the company gave was skin temperature: If OEMs wanted to specify a low skin temperature that had the side effect of keeping the CPU clock speed from turboing as high as a competitive system from a different OEM that traded a higher skin temperature for better thermal performance, that was fine by Intel — even if it also meant two systems with the same CPU might perform very differently.
But there’s a difference between accepting that a CPU might not be capable of running at its maximum clock and seeing the clock yanked down to below the minimum specified speed because a system can’t handle its heat. During the Core M testing Anandtech did in 2015, they also measured the average clock speeds of the CPUs in question while they were throttling:
The Core M-5Y10 had a had a base frequency of 800MHz and a boost of 2GHz, while the 5Y71 was a 1.2GHz base, 2.9GHz boost. In other words, all of these chips held a boost clock well above their minimum. The Apple Core i9 appears to not do this in a number of situations — and again, Apple isn’t the only culprit here. Users have also published guides to improving the cooling on high-end Dell laptops specifically to avoid throttling. Run a Google search on “HP laptop throttle” and you’ll get plenty of results there as well. Apple may be the most prominent face of this problem at the moment, but it’s not the only culprit.
Don’t Buy the Excuses
There are no valid excuses for this kind of product design. Forget the idea that Apple, Dell, HP or any other OEM can’t possibly know what kind of workloads their customers are going to run. The major OEMs know exactly what their high-end professional customers run because, when push comes to shove, there aren’t all that many high-end applications that compete at the top of the market. And furthermore, if these companies want to compete for high-end boutique dollars or workstation cash, they can damn well take their competition seriously enough to develop some benchmark and test applications. Apple is sitting on enough cash to buy Adobe outright. They can afford the cash it takes to develop and test hardware to ensure it doesn’t throttle — which is why it’s particularly egregious that this problem can apparently be mitigated by using third-party tools from Intel (thanks to reader darkrich for the link).
Intel’s desire to give OEMs flexibility and configuration options is great in theory. It’s not working anymore. Clock speed may never have been a perfect metric of performance — the so-called “MHz myth” wars kicked off by Intel’s Netburst architecture happened for a reason — but we can acknowledge that a metric is imperfect while recognizing that it represents one of our best methods of tracking performance. The idea that manufacturers are under no obligation to ship hardware that can run at the clock speeds it claims to operate at is untenable. It’s tantamount to giving up on the idea that we should attempt to measure objective performance at all.
Intel is perfectly capable of putting a halt to this. Ideally, the company would tell its customers they have to sell Intel CPUs in chassis that can support them at full clock in standard operation. Again, this isn’t some impossible ask — define “standard operation” according to a suite of representative software that your customers run, whether that means gamers or workstation users, test accordingly, update the suite every few years and ship the damn hardware. But under the circumstances, we’d settle for Intel telling OEMs like HP, Dell, and Apple that its minimum clock speeds are non-negotiable. If you aren’t willing to build a chassis that can hold a CPU at its minimum clock speed, then you don’t get to sell Intel processors. AMD should follow suit.
OEMs Should Create Guaranteed Non-Throttling Systems
The chances that this happens in an industry devoted to squeezing out every nickel of profit as opposed to delivering a superior customer experience is negligible. But it’s what ought to happen. Either way, we’re through tolerating this behavior. We’re not claiming Apple was the first company to cross the line between “flexible configurations” and “Unacceptable throttling,” but the line has been crossed. This consumer-hostile, bullshit behavior needs to stop and it needs to stop now.