Last Week on My Mac: Feeling fast, the psychology of computer performance

If you feel the need for speed, and relish the exhilaration of travelling really fast, get yourself a recumbent trike which puts your bum just above the road surface, and ride down a long steep hill. Time your descent, and you’ll probably discover that you went rather slower than you would in a car like an SUV. Add some sharp bends or a hazard to your route and it’ll prove reliable sphincter-winking fun, whatever the speedometer says.

I doubt that many get a recumbent trike for the thrill of its speed, but plenty who pay handsomely for sports cars do so because of the experience they deliver. The formula for success here depends on your market: many also place the occupants very low, usually recumbent, and provide an appropriate auditory environment with just the right engine and exhaust notes.

Computers also sell in part for their perceived performance. In a fairly typical review of the new M1 iMac, I found sixteen references to faster performance, together with a table giving twelve performance benchmarks. It would be stupid for any computer manufacturer to ignore that. And, as we all know, you can’t trust benchmarks, as the best judge of real-world performance is how fast a computer feels when you’re undertaking everyday tasks on it – the psychology of its performance.

We all recognise failures in that psychology. Few users have to think far back to remember the last time that their Mac was seemingly brought to its knees by a problem which immersed its interface in molasses. It’s one of the most common categories of question that users send to me for Q&A sections in magazines like MacFormat and Mac|Life. Apps like EtreCheckPro provide tools to help you deal with a poorly-performing Mac, and there’s Activity Monitor and command tools like top too.

There’s much more to it than emptying out the molasses. We accept that some apps perform tasks which take a while, but if the user catches them showing a spinning beachball, they’re assumed to have run into problems; showing a progress spinner instead seems more acceptable, despite the task taking the same time. When an app’s Dock icon bounces away for a minute because it has to undergo a deep security check, we assume that there’s something wrong; presented with a progress bar instead most users are less disturbed.

Ten days ago I noticed what seems to be a previously unreported pattern of core usage on M1 Macs, in which the great majority of the work done by macOS is run exclusively on the four Efficiency cores, leaving the four Performance cores primarily for user apps. Several have pointed out that Apple does this to extend battery endurance on its laptop models, which is of course one good reason, but fails to explain why this also occurs on desktop M1 models such as the new iMacs. Others have claimed that Apple could have achieved similar on Intel models with their symmetric cores, without taking into account the different behaviour of asymmetric cores.

This is a solution found in nature, and exploited elsewhere in engineering.

Human skeletal muscle consists of different types of fibres, broadly divided into fast and slow twitch. Distance runners usually rely more on the use of their slow-twitch fibres, while a sprinter achieves their power primarily from fast-twitch fibres. We’d still be able to function adequately with just medium-twitch fibres, but athletic performances would be poorer at both ends of the spectrum.

Many warships are fitted with two sets of engines: economical and efficient cruising engines used when they’re on passage across the oceans, and high-power units like gas turbines designed for speed, no matter what the cost in fuel. They can pootle along for weeks on their cruising engines alone, then when an aggressor appears, turn on the gas and hit thirty knots.

Under Intel’s current symmetric core model, running all background tasks on a fixed subset of cores is of no advantage when that Mac is doing little for the user. It doesn’t reduce power use or heat output, as none of those cores are any more efficient, although it would keep the other cores free for user processes. If the eight cores in this iMac Pro were treated asymmetrically like that, perhaps with 2 cores to which background tasks were confined, that would leave 75% of the total CPU capacity dedicated to user processes.

According to a comment by Maynard Handley, Apple’s Efficiency cores now deliver about 40% of the performance of a Performance core at around 10% of its power. An M1 Mac therefore provides the equivalent of 1.6 Performance cores from its 4 Efficiency cores, and another 4 from the Performance cores themselves. This gives user processes at least 70% of the total compute capacity to themselves, depending on how hard macOS is working the Efficiency cores at the time. For the symmetric system, that could only be matched if each of its eight cores delivered comparable performance to a Firestorm core, which would increase total cost, power usage and heat output significantly in comparison with the M1.

The effect on perceived peformance can be dramatic. Background macOS tasks such as Spotlight indexing and backing up may take longer, but we’re seldom aware of their progress. Meanwhile, user-facing apps are still running at full speed on the Performance cores, as if nothing else was going on. You’re welcome to experience this for yourself using my free compression-decompression utility Cormorant, which now sports a control to run its tasks solely on the Efficiency cores.

This could simply be an unintended consequence of using a SoC with asymmetric cores for its efficiency in laptop Macs, but it’s significant that Intel has already announced that it will be following suit later this year in its Alder Lake processors. One good indicator will be whether Apple retains Efficiency cores in future SoCs to power its higher-end desktop systems.

Of course perceived performance is entirely subjective, by definition, but that’s what puts the sports in sports cars, and the excitement in riding a recumbent trike. And now sells M1 Macs.

Further reading

Steven C Seow (2008) Designing and Engineering Time: The Psychology of Time Perception in Software, Addison-Wesley. Apple Books.