Google hat kürzlich Chrome 91 auf dem stabilen Kanal eingeführt und bietet aufgrund der im Beitrag erwähnten Änderungen eine um 23 % schnellere Leistung.
Google vor kurzem eingeführt Chrome 91 auf dem stabilen Kanal. Das Update brachte eine Reihe von Änderungen mit sich, darunter überarbeitete Formularsteuerelemente, Standard-Desktop-Modus-Unterstützung auf Geräten mit großem Bildschirm, Verbesserungen der Dateisystemzugriffs-API und mehr. Das Update brachte auch zahlreiche Leistungsverbesserungen mit sich und Google hat nun bekannt gegeben, dass das neueste Update Chrome bis zu 23 % schneller macht als die vorherige Version.
In einem letzter Beitrag auf der Chromium-Blog, Chrome-Produktmanager Thomas Nattestad enthüllte, dass Chrome 91 „ist jetzt mit der Einführung von a bis zu 23 % schneller neuer Sparkplug-Compiler Und kurze integrierte Anrufe, was unseren Benutzern jeden Tag über 17 Jahre CPU-Zeit einspart!“ Der Beitrag erklärt, dass Sparkplug ein neuer JavaScript-Compiler ist „schließt die Lücke zwischen der Notwendigkeit, schnell mit der Ausführung zu beginnen, und der Optimierung des Codes für maximale Leistung.“Kurze integrierte Aufrufe hingegen optimieren „Wo im Speicher wir generierten Code ablegen, um indirekte Sprünge beim Aufrufen von Funktionen zu vermeiden.“
Die V8-Engine von Chrome verfügt über mehrere Compiler, die in den verschiedenen Phasen der Ausführung von JavaScript unterschiedliche Kompromisse eingehen. Der neue Sparkplug-Compiler schafft ein Gleichgewicht zwischen dem zweistufigen Compilersystem des Motors – Ignition und Turbofan – um nativen Maschinencode zu generieren, ohne auf die bei der Ausführung von JavaScript gesammelten Informationen angewiesen zu sein Code. Aus diesem Grund ist es „beginnt schnell mit der Ausführung und generiert dennoch relativ schnellen Code.“ Dadurch wird die Leistung verbessert.
Short Builtins ist ein neuer Mechanismus, der der V8-Engine dabei hilft, den Speicherort des generierten Codes zu optimieren. „Wenn V8 CPU-spezifischen Code aus JavaScript generiert, legt es diesen Code im Speicher ab. Dieser generierte Code ruft häufig integrierte Funktionen auf, bei denen es sich um kleine Codeausschnitte zur Handhabung allgemeiner Routinen handelt – alles von grundlegenden Operationen wie dem Hinzufügen zweier Variablen bis hin zu vollwertigen Funktionen im JavaScript-Standard Bibliothek. Bei einigen CPUs kann der Aufruf von Funktionen, die weiter von Ihrem generierten Code entfernt sind, dazu führen, dass CPU-interne Optimierungen (z. B. Verzweigungsvorhersagelogik) fehlschlagen. „Die Lösung hierfür besteht darin, die integrierten Funktionen in denselben Speicherbereich wie den generierten Code zu kopieren“, fügt der Beitrag hinzu. Weiter wird darauf hingewiesen, dass diese Änderung die Leistung von Chrome auf dem Apple M1-Chip verbessern dürfte.
Weitere Informationen zu diesen Leistungssteigerungen finden Sie in Chrome V8-Blogbeitrag.