Mozilla Firefox steigert die JavaScript-Leistung

Firefox-Benutzer können im Firefox 83-Browser eine verbesserte JavaScript-Leistung erwarten, wobei das Warp-Update für die SpiderMonkey-JavaScript-Engine standardmäßig aktiviert ist.

Warp, auch WarpBuilder genannt, verbessert die Reaktionsfähigkeit und die Speichernutzung und beschleunigt das Laden von Seiten, indem Änderungen an JiT-Compilern (Just-in-Time) vorgenommen werden. Die Optimierung von JiT wird geändert, um sich ausschließlich auf das einfache lineare CacheIR-Bytecode-Format zu stützen, insbesondere auf CacheIR-Daten, die von den Basisebenen erfasst werden. Die neue Architektur, die im Browser verwendet wird, wird auch als wartungsfreundlicher beschrieben und bietet zusätzliche SpiderMonkey-Verbesserungen.

Firefox 83 wurde in der Beta am 20. Oktober veröffentlicht und soll am 17. November veröffentlicht werden. Warp ist nachweislich schneller als Ion, SpiderMonkeys früheres optimiertes JiT, einschließlich einer 20-prozentigen Verbesserung der Ladezeit von Google Text & Tabellen. Andere JavaScript-intensive Websites wie Netflix und Reddit haben ebenfalls Verbesserungen gezeigt.

Durch die Verwendung von Warp auf CacheIR konnte Code in der gesamten Engine entfernt werden, der zum Verfolgen der von IonBuilder verwendeten globalen Typinferenzdaten erforderlich war, was zu Beschleunigungen führte. Obwohl IonBuilder und WarpBuilder beide Ion MIR produzieren, eine Zwischendarstellung, die vom optimierenden JiT-Backend verwendet wird, hatte IonBuilder eine Menge komplexen Codes, der in WarpBuilder nicht benötigt wurde. Warp kann auch außerhalb des Threads mehr arbeiten und benötigt weniger Neukompilierungen. Pläne sehen weitere Optimierungen für Warp vor, das derzeit bei einigen synthetischen Benchmarks langsamer als Ion ist.

Warp hat das Frontend - die MIR-Bauphase - des IonMonkey JiT ersetzt. Pläne sehen vor, den alten Code und die alte Architektur zu entfernen, was in Firefox 85 wahrscheinlich der Fall ist. Infolgedessen werden zusätzliche Verbesserungen der Leistung und der Speichernutzung erwartet. Mozilla wird auch das Back-End des IonMonkey JiT weiterhin schrittweise optimieren, da Mozilla der Ansicht ist, dass für JavaScript-intensive Workloads noch Verbesserungspotenzial besteht. Ebenfalls in der Entwicklung ist ein Tool für Webentwickler und Mozilla, mit dem CacheIR-Daten für eine JavaScript-Funktion untersucht werden können.