
In this case, I ran a couple of tests at fast QoS, and a couple at slow QoS, while the Efficiency cores were already busy with a large Time Machine backup. Watch what happens in the CPU History window of Activity Monitor, and you can see the load on the respective cores. Set the QoS to slow, and it’ll be run on the Efficiency cores, set it to fast and it uses the Performance cores.

You set how many loops you want it to run – because these cores are so fast, you’ll want millions – and its ‘Quality of Service’, which determines which type of cores it’s run on. It provides that in four different ways, including Assembly language, the macOS Accelerate library, and two different implementations in Swift. This takes as its benchmark test a little floating point vector calculation, the dot product, which involves nothing more than multiplying and adding.

If you want to see its Performance (Firestorm) and Efficiency (Icestorm) cores in action, and compare how they perform, you’ll have endless pleasure and fulfilment with my little utility AsmAttic 4. Running most benchmarks on M1 Macs – particularly the latest M1 Pro and M1 Max – may be exciting, but gives remarkably little insight into what’s actually happening in your Mac.
