- Zusammenfassung der beeindruckenden Verbesserungen der V8-Engine im Jahr 2023
- Allgemeine Geschwindigkeitssteigerung durch die Einführung eines neuen Compilers für die mittlere Stufe sowie Verbesserungen am Compiler der oberen Stufe, an der Laufzeitumgebung und am Garbage Collector
- Neue Funktionen für JavaScript und WebAssembly hinzugefügt und mit WebAssembly Garbage Collection (WasmGC) Garbage-Collected-Programmiersprachen effizient ins Web gebracht
- Zur Verbesserung der Sicherheit wurde die Sandboxing-Infrastruktur ausgebaut und in V8 Control Flow Integrity (CFI) eingeführt
Maglev: neuer Optimierungs-Compiler für die mittlere Stufe
- Einführung des neuen Optimierungs-Compilers Maglev, der zwischen Sparkplug und TurboFan arbeitet
- Maglev erzeugt Code etwa 20-mal langsamer als Sparkplug, aber 10- bis 100-mal schneller als TurboFan
- In JetStream wurde ein Performance-Zuwachs von 8,2 % und in Speedometer von 6 % beobachtet
- Energieeinsparungen durch die schnelle Kompilierung von Maglev und die geringere Abhängigkeit von TurboFan
Turboshaft: neue Architektur für den Optimierungs-Compiler der oberen Stufe
- Einführung von Turboshaft, einer neuen internen Architektur für den Optimierungs-Compiler der oberen Stufe TurboFan
- Neue Optimierungen lassen sich hinzufügen und Kompilierung wird schneller
- Seit Chrome 120 verwenden alle CPU-agnostischen Backend-Phasen Turboshaft; die Kompilierung ist damit etwa doppelt so schnell wie zuvor
Schnellerer HTML-Parser
- Ein schnellerer HTML-Parser wurde zu Blink hinzugefügt, um die für HTML-Parsing benötigte Zeit zu verringern
- 3,4 % höherer Speedometer-Wert
- Das WebKit-Projekt hat diese Änderung sofort übernommen
Schnellere DOM-Allokation
- Investitionen und Optimierungen auf der DOM-Seite
- Hinzufügen eines Seiten-Pools zum Oilpan-Allocator verringert die Roundtrip-Kosten zum Kernel
- Unterstützung für komprimierte und nicht komprimierte Pointer sowie Vermeidung der Komprimierung hochfrequenter Felder in Blink
- Durch Oilpanisierung häufig allokierter Klassen wurden Allokationen um das Dreifache beschleunigt und die Performance DOM-zentrierter Benchmarks verbessert
Neue JavaScript-Funktionen
- Neu standardisierte JavaScript-Funktionen ausgerollt
- Hinzugefügt wurden unter anderem resizable ArrayBuffers, ArrayBuffer transfer, String
isWellFormed und toWellFormed, das RegExp-Flag v, JSON.parse with source, Array grouping, Promise.withResolvers und Array.fromAsync
- Die Iterator-Helper wurden wegen Problemen mit der Webkompatibilität vorübergehend zurückgezogen und sollen erneut ausgerollt werden
- Einige unnötige temporäre Dead-Zone-Prüfungen wurden ausgelassen, um die Performance von ES6+-JavaScript-Code zu verbessern
WebAssembly-Updates
- Neue Funktionen und Performance-Verbesserungen für Wasm
- Performance-Steigerungen durch Unterstützung für Multi-Memory, Tail Calls und Relaxed SIMD
- Die Implementierung von Memory64 ist abgeschlossen und soll ausgerollt werden, sobald der Vorschlag Stage 4 erreicht
- Neueste Aktualisierungen des Vorschlags für Exception Handling übernommen und Unterstützung für das ältere Format hinzugefügt
- Investitionen in JSPI ermöglichen eine größere Klasse von Anwendungen im Web
WebAssembly Garbage Collection
- Mit dem Rollout von WasmGC können Objekte und Arrays allokiert werden, die vom bestehenden Garbage Collector von V8 verwaltet werden
- Beim Kompilieren von Anwendungen, die in Garbage-Collected-Sprachen wie Java, Kotlin und Dart geschrieben sind, nach Wasm ist die Ausführung etwa doppelt so schnell wie bei der Kompilierung nach JavaScript
Sicherheit
- Sandboxing, Fuzzing und CFI waren in diesem Jahr die zentralen Sicherheitsthemen
- Aufbau der Sandboxing-Infrastruktur, Investitionen in die Fuzzing-Infrastruktur und Verbesserung der Sprachabdeckung
- Grundlage für eine CFI-Architektur geschaffen, die auf verschiedenen Plattformen implementiert werden kann
- Gängige Exploit-Techniken rund um
the_hole entschärft und ein neues Bug-Bounty-Programm für Exploits in Form von V8CTF gestartet
Fazit
- Die kombinierte Wirkung vieler kleiner Performance-Projekte führte zu erheblichen Ergebnissen
- Benchmark-Werte, die die Performance-Steigerungen von V8 im Jahr 2023 zeigen, stiegen um 14 % in JetStream und 34 % in Speedometer
- V8 ist jetzt schneller und sicherer, und die Reise zu einem schnellen und intensiven Web hat gerade erst begonnen
- Das V8-Team wünscht allen ein schnelles, sicheres und großartiges Web-Erlebnis
Noch keine Kommentare.