Zum Hauptinhalt Zur Navigation

Mozilla: Firefox bekommt Javascript mit Warp-Geschwindigkeit

Das Firefox -Team rollt eine komplett überarbeitete Javascript-Engine aus. Das Warp-Projekt soll bis zu 20 Prozent schneller sein.
/ Sebastian Grüner
6 Kommentare News folgen (öffnet im neuen Fenster)
Der Firefox bekommt einen neuen Javascript-Compiler. (Bild: Mathias Appel)
Der Firefox bekommt einen neuen Javascript-Compiler. Bild: Mathias Appel / CC0 1.0

Die für den morgigen Dienstag, 17. November, offiziell geplante Veröffentlichung der Firefox-Version 83 wird ein sehr großes Update der Javascript-Engine Spidermonkey enthalten. Die neue Technik nennt das Team Warp, wie es in der Ankündigung heißt(öffnet im neuen Fenster) . Die damit umgesetzten großen Änderungen an den JIT-Compilern sollen außerdem zu einer "verbesserten Reaktionsfähigkeit, schnellerem Laden von Seiten und besserer Speichernutzung" führen.

Moderne Javascript-Engines verfügen im Allgemeinen über mehrere verschiedene Compiler-Stufen, um Code der Sprache auszuführen. Dazu gehören einerseits Interpreter oder der sogenannte Baseline-JIT im Firefox und andererseits JIT-Compiler, die den Code optimieren, was zwar länger dauert, der Code läuft dann aber schneller. Das Firefox-Team hat nun letzteres grundsätzlich überarbeitet.

Statt wie bisher auf speziell für den Optimizing-JIT-Compiler gesammelte Profile-Daten zu setzen, nutzt der neue Warp-Compiler eine spezielle Zwischenform (IR), die der Baseline-JIT erzeugt. Dabei handelt es sich um ein lineares Bytecode-Format, das beide Compiler verwenden und damit zu einer stärkeren Integration dieser führt.

Javascript-Code, der mehrfach genutzt wird, wird dann mit dem Optimizing-Compiler verarbeitet, um Maschinencode zu erzeugen. Das dafür auch bisher schon genutzte Backend wird mit Warp schlicht weiter verwendet. In Benchmark oder auf Webseiten mit sehr viel Javascript führt der neue Compiler zu Verbesserungen von 10 bis 20 Prozent bei den Ladezeiten.

Diese sehr hohen Steigerungen führt das Team darauf zurück, dass sehr viel Arbeit in eigenen Threads ausgeführt werden kann und die vorher gesammelten Profile-Daten nicht mehr benötigt und nicht mehr benutzt werden. Zusätzlich dazu sinkt die Speichernutzung um rund 8 Prozent mit dem neuen Compiler. Auch die Garbage-Collection soll nun besser funktionieren und weniger häufig benötigt werden.


Relevante Themen