Die Javascript-Engine SpiderMonkey, unter anderem vom Webbrowser Firefox verwendet, hinkt der Konkurrenz immer dann deutlich hinterher, wenn die Erweiterung TraceMonkey nicht greift. Mozilla will nun mit JägerMonkey die Performance bei der Javascript-Bearbeitung verbessern.SpiderMonkey versucht, Codeschleifen zu erkennen und diese direkt in Maschinensprache zu übersetzen. Ist dies erfolgreich, wird folglich der Code sehr schnell ausgeführt. Wenn TraceMonkey aber keine Schleifen erkennt oder der Javascript-Code nicht viele Schleifen enthält, wählt SpiderMonkey einen behäbigen Interpreter, der noch auf dem technischem Stand von 2007 ist. Konkurrenten wie Nitro aus WebKit und Safari ziehen dann auf und davon, denn sie verfolgen einen einfacheren Ansatz, der aber viel häufiger greift und ganze Funktionen in Maschinencode übersetzt.
Mozilla setzt nun auf JägerMonkey. Noch bevor eine Funktion interpretiert wird, wird sie von JägerMonkey in einen generischen Assembler-Code übersetzt. Erkennt er Schleifen, übergibt er an TraceMonkey. In den übrigen Fällen wird der Code direkt ausgeführt, der langsame Interpreter wird übergangen. Die ersten Tests im Javascript-Benchmark Sunspider versprechen 30 bis 45% Performancezuwachs. Jägermonkey verwendet anders als TraceMonkey als Compiler nicht Nanojit, sondern Apples Javascript-JIT Nitro.
zurück zur Übersicht | Szene.News eintragen
Kommentare
Noch keine Kommentare vorhanden.
Kommentar anfügen