Warum M1-Macs sich zuweilen viel schneller anfühlen, als sie eigentlich sind
Dass Apples hauseigene Prozessoren überragende Leistungswerte aufweisen, ist hinlänglich bekannt und durch zahlreiche Tests belegt. Die Gründe hierfür sind vielfältig, dazu gehören etwa die ARM-Architektur, der Fertigungsprozess in 5-Nanometer-Technik und der hohe Integrationsgrad der Komponenten wie CPU, RAM und GPU. Schnelle Hardware allein sorgt aber bekanntlich noch nicht für außerordentliche Performance, hinzukommen muss auch intelligent und effizient programmierte Software. Das gilt natürlich vor allem für das Betriebssystem.
Einschneidende Veränderung in macOSWas nach einer Binsenweisheit klingt, ist beim Vergleich von M1-Geräten mit Intel-Macs von großer Bedeutung. MacBook Air M1, MacBook Pro M1, Mac mini M1 und iMac M1 sind nämlich nicht nur in synthetischen Benchmarks schnell, sie fühlen sich auch im Alltag wesentlich flotter an als ihre eigenen Vorgänger und selbst Highend-Desktops aus Cupertino. Das liegt daran, dass sich viele Aufgaben mit ihnen schneller absolvieren lassen, ein Video-Export also beispielsweise früher erledigt oder ein Programm flinker gestartet ist. Ursächlich hierfür ist nicht nur die reine Geschwindigkeit des M1, sondern auch dessen Big-Little-Architektur im Zusammenspiel mit einer einschneidenden Veränderung, welche Apple in macOS 11 Big Sur für den hauseigenen Prozessor vorgenommen hat.
Apples M1 schlägt fast alle x64-CPUs.
Quelle: Passmark
Quality of Service sorgt für hohe PerformanceDas Zauberwort in diesem Zusammenhang heißt "Quality of Service" (QoS). Dieser Begriff bezeichnet – vereinfacht ausgedrückt - eine Technik, mit der das Betriebssystem einzelne Aufgaben zur Abarbeitung auf die Prozessorkerne verteilt. Abhängig von der Dringlichkeit erhalten diese Tasks eine Prioritätsstufe, anhand derer sie dann bevorzugt oder nachrangig ausgeführt werden. App-Entwickler können diese Priorisierung im Falle von macOS in vier Ebenen festlegen. Zudem gibt es ein neutrales Level, welches dem Betriebssystem die Einstufung überlässt. Mit Blick auf den M1 hat Apple dieses Verfahren im Mac-Betriebssystem angepasst: Niedrig priorisierte Tasks werden auf den vier Effizienz-Kernen ("Icestorm") des hauseigenen Prozessors ausgeführt, wichtige und damit zeitkritische Aufgaben erledigen die schnellen High-Performance-Cores ("Firestorm"). Auf Intel-Macs gibt es diese Differenzierung nicht, da eine x64-CPU bislang stets aus identischen und somit gleich schnellen Kernen besteht.
Effizienz-Kerne arbeiten Hintergrund-Tasks abDer unter anderem für Apps wie
Cormorant und
SilentKnight bekannte Entwickler Howard Oakley, Gründer und Betreiber des Blogs
The Eclectic Light Company, hat sich QoS auf M1-Macs genauer angesehen. Dabei fand er unter anderem heraus, dass macOS 11 Big Sur niedrig priorisierte Tasks selbst dann ausschließlich auf den langsamen Cores ausführt, wenn das System ansonsten keine Aufgaben zu erfüllen hat, sich also sozusagen im Leerlauf ("idle") befindet. Das führt zwar dazu, dass bestimmte Hintergrund-Tasks wie etwa Time-Machine-Backups unter Umständen sehr viel Zeit in Anspruch nehmen. Die High-Performance-Cores stehen dadurch jedoch unmittelbar zur Verfügung, wenn eine App ihre Leistung in Anspruch nehmen will. Das System kann also instantan reagieren. Darüber hinaus verschiebt macOS 11 Big Sur bereits laufende Tasks nach Icestorm, wenn eine höher priorisierte Aufgabe gestartet wird.
So verteilt macOS die Tasks bei einem Time-Machine-Backup.
Quelle: Howard Oakley
Systemprozesse von macOS halten sich zurückDieses Vorgehen führt laut Oakley dazu, dass sich M1-Macs in aller Regel deutlich schneller anfühlen als ihre Intel-Pendants. Der Nutzer hat so gut wie nie das Gefühl, das System reagiere verzögert oder zu langsam. Hinzu kommt, dass Apple den Beobachtungen des Entwicklers zufolge viele nicht zeitkritische Hintergrundaktivitäten von macOS auf den Effizienzkernen ablaufen lässt. Sie machen Apps dadurch keine Rechenzeit streitig, was naturgemäß der Ausführungsgeschwindigkeit zugute kommt. Auch amoklaufende Systemprozesse kommen Anwendungsprogrammen nicht ins Gehege, sondern verlangsamen ausschließlich andere Teile von macOS, was von den meisten Nutzern kaum wahrgenommen wird.
Die Aufgabenverteilung auf einem achtkernigen Intel Xeon
Quelle: Howard Oakley
App-Entwickler müssen mitspielenOakley beschreibt das von Apple auf M1-Macs eingesetzte QoS auf The Eclectic Light Company in zwei Beiträgen mit den Titeln
Cores shouldn’t all be the same: M1 Macs do better und
How M1 Macs feel faster than Intel models: it’s about QoS. Darin enthalten sind zahlreiche praktische Beispiele sowie etliche Screenshots, mit denen er das Verhalten von macOS 11 Big Sur dokumentiert. Seiner Ansicht nach sollte Apple bei künftigen Mx-Chips keinesfalls vom Big-Little-Prinzip abweichen, sondern neben mehr High-Performance-Cores auch weiterhin Effizienz-Kerne einsetzen. Damit die Geschwindigkeitsvorteile von Apples hauseigenen Chips im Zusammenspiel mit macOS von Dauer sind, müssen allerdings auch die App-Entwickler mitspielen. Wenn diese nämlich sämtliche Tasks ihrer Anwendungen stets mit höchster Priorität ausführen lassen wollen, funktioniert Apples Ansatz irgendwann nicht mehr so perfekt wie bisher.