The Apple M1 that powers all Apple Silicon Macs released to date as well as the latest iPad Pro is equipped with an eight-core CPU, four fast and four thrifty. These are less powerful, but they also consume much less and are used to expand the autonomy of devices for secondary tasks, those that require less power and those that run in the background.
This asymmetric design is so well known in the mobile world that Apple has been using it in all its iPhone and iPad chips since 2016. Their arrival in macOS offers a new opportunity: we can analyze what’s happening at the CPU level, how each type of core is used as well as The relative strength of both types. Many theory tests have been done, but developer Howard Oakley has found a way to do this Testing under real conditions.
Use this developer method Quality of service (QoS) to force macOS to run code on strong cores, called Firestorm, and then on frugal cores, called Icestorm. This QoS is a way of signaling to the system the priority of the task and this explains why the Apple M1 Macs look so streamlined, as we detailed in a previous article:
How the iPhone taught your Mac to use its hearts better
Using this technique, he measured the time required for each quadrant of hearts to perform four basic tasks. This is every time an arithmetic is performed on floating-point numbers, a basic task often used to measure processor performance. Four different methods have been used for this computation, from the lowest level (assembly code) to the highest, with Swift code like one might see in a macOS app. Performance was measured every time on a Mac with a basic macOS installed, without touching the system and without adding additional kernel extensions, which was the case for the most theoretical tests conducted to date.
The results obtained by the developer show that the capable cores are indeed slower, but the difference can be reduced by using well-optimized code. with the method apple simd, a low-profile solution offered by the manufacturer, the four economizers are only twice as slow as fast ones, which is a good performance when you consider that they only require a quarter of the power of fast cores.
The gap widens as we move away from low-level languages. With basic Swift, economic cores are three times slower, but by adding more complex code, often necessary in applications, they are five and a half times slower. In use, fast cores always keep the edge and that makes sense, but even with tasks five times slower when performed on frugal cores, the Apple M1 asymmetry is still beneficial.
Computers spend a lot of time doing non-urgent tasks and may require more time to complete them without a problem. For macOS, this is particularly the case with Spotlight indexing or even image library analysis, to give two examples. These tests prove that in some cases a developer can also improve their code to reduce the gap and make the most of the frugal cores of their application.
“Incurable web evangelist. Hipster-friendly gamer. Award-winning entrepreneur. Falls down a lot.”