Haupt Software Wie Apple den Start von Apps in iOS 15 und macOS Monterey beschleunigt hat
Software

Wie Apple den Start von Apps in iOS 15 und macOS Monterey beschleunigt hat

Nachrichten Ihre Apps werden diesen Herbst möglicherweise viel schneller geladen. Chefredakteur, Tablets 16.07.2021 9:30 Uhr PDT iMac Launchpad Big Sur Apple/IDG

Wenn du feuerst iOS 15 und macOS Monterey Zum ersten Mal in diesem Herbst werden Sie wahrscheinlich etwas über die neuen FaceTime-Funktionen und Safari-Änderungen hinaus bemerken: verbesserte Geschwindigkeit. Laut einem Entwickler, der sich mit dem Code für die neuen Betriebssysteme von Apple befasst hat, hat Apple die Art und Weise, wie Apps mit dem System kommunizieren, erheblich verändert und könnte die Zeit bis zum Start drastisch verkürzen.

iOS-Entwickler und ehemaliger Apple-Mitarbeiter Noah Martin wurde mir beim Lesen einer interessanten Sache bewusst Versionshinweise von Xcode 13 :

Alle Programme und Dylibs, die mit einem Bereitstellungsziel von macOS 12 oder iOS 15 oder höher erstellt wurden, verwenden jetzt das verkettete Fixups-Format. Dies verwendet verschiedene Ladebefehle und LINKEDIT-Daten und wird auf älteren Betriebssystemversionen nicht ausgeführt oder geladen.

Es mag nicht viel klingen, aber diese beiden Sätze erklären die Technologie, die Ihre Erfahrung mit Ihrem Mac und iPhone verändern könnte. Martin hat Detektivarbeit geleistet, um herauszufinden, was hinter dieser Veränderung steckt, und wie er in einem langen und sehr technischen Medium Post beschreibt , Apps, die für iOS 15 und macOS 12 optimiert wurden, werden wahrscheinlich viel schneller gestartet als jetzt.

Wie es funktioniert

Da iOS und macOS derzeit funktionieren, werden alle Apps als Bundles erstellt. Im Gegensatz zu Windows sind Apps mit den nötigsten Komponenten innerhalb eines Pakets ausgestattet. Apps sind im Grunde Ordner, die alle möglichen Programmkomponenten enthalten. (Wenn Sie einen Mac haben, wissen Sie das vielleicht. Klicken Sie mit der rechten Maustaste auf eine App im Finder und Sie sehen den Menüpunkt Show Package Contents, mit dem Sie in die App schauen können.) Außerdem laden Apps auch gemeinsam genutzte Bibliotheken mit dem dynamischen Linker-Prozess (dyld), die dann in den Arbeitsspeicher des Systems kopiert werden, um während des Programmablaufs schnell darauf zugreifen zu können.

Der Arbeitsspeicher besteht aus sogenannten Pages, die jeweils nur 16 Kilobyte Kapazität haben und so lange bestehen bleiben, wie die App läuft. Der dyld-Prozess hat diese Tabellen bisher nach und nach gepackt, was den App-Start im Wesentlichen verzögert hat. Wie Martin erfahren hat, Apfel löste das Problem in iOS 15 und macOS 12 mit Chains, Fixups und Pointern – anstatt die einzelnen App-Komponenten und die Shared Libraries nach und nach separat in den Arbeitsspeicher zu laden, kann ein Pointer so Apps bis zu 64 Gigabyte verketten und über die . miteinander verbinden Reparaturen.

Klingt komplex, ist aber einfach. Die RAM-Inhalte sind nun in einer Kette miteinander verbunden. Dadurch werden enorme Mengen an Metadaten eingespart, die sonst für die Verwaltung aufgewendet werden, was die gesamte RAM-Verwaltung deutlich effizienter macht. Außerdem werden lange nicht genutzte RAM-Seiten komprimiert.

Laut Martin hat dieses neue System zwei Ergebnisse. Der verfügbare Speicher wird optimiert und die gezielte Verteilung von Binärinhalten im Speicher sorgt für schnellere App-Starts. In seinen Tests konnte Martin bis zu 50 Prozent an Metadaten einsparen, die über das dyld-Verfahren importiert werden und Apps letztendlich schneller starten lassen.

Wir werden bald sehen, wie das funktioniert. Apple hat bereits die dritte Beta von iOS 15 und macOS 12 veröffentlicht, die voraussichtlich im September bzw. Oktober erscheinen wird.

Dieser Beitrag entstand auf Macwelt und wurde von Christian Rentrop geschrieben.