Login
Newsletter
Werbung

Mo, 1. März 2010, 11:12

Software::Web

Mozilla startet Jägermonkey

Seit zwei Monaten arbeiten die Mozilla-Entwickler an JägerMonkey, einem neuen Just-in-time-Compiler (JIT-Compiler) für Mozillas JavaScript-Engine SpiderMonkey. Der Grund für diesen Schritt ist, dass der in SpiderMonkey enthaltene Compiler TraceMonkey zwar für verfolgbaren Code sehr schnell ist, aber für anderen Code ein langsamer Interpreter herangezogen werden muss.

TraceMonkey baut aus vorhandenem Code, wenn möglich, sogenannte Trace Trees auf, in welchen jede Codespur als Schleife implementiert wird. Mit dieser Technologie übersetzte Programme sollen schneller laufen als von CFG-Compilern generierter Code, denn dieser wird auf Basis von Kontrollfluss-Graphen (control-flow graph, CFG) erzeugt. JägerMonkey soll sich um Code kümmern, der nicht in Trace Trees verpackt werden kann. Das ist der Fall, wenn ein Programm sehr viele Abzweigungen hat, viele Typ-Kombinationen auftreten oder aus einem anderen Grund kein Tracebaum erzeugt werden kann.

In der letzten Woche wurde die erste Version von JägerMonkey veröffentlicht. Der Compiler ist bereits jetzt, ohne dass die Entwickler schon Optimierungen vorgenommen haben, ca. 18 Prozent schneller als der Interpreter. In dieser frühen Version haben die Entwickler mit Apples freiem JavaScript-JIT Nitro bereits einen schnellen Assembler für den grundlegenden Code implementiert. Der eigentliche Compiler läuft stabil, kann aber noch optimiert werden, wovon die Entwickler zukünftig eine zusätzliche Performancesteigerung von fünf Prozent erwarten. Den Stack des weiterhin nötigen Interpreters hat das JägerMonkey-Team ebenfalls überarbeitet, wodurch der Interpreter um 3 bis 5 Prozent beschleunigt wurde. Wer JägerMonkey ausprobieren möchte, findet im Mozilla-Wiki eine ausführliche Anleitung.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung