Javascript
Firefox holt mit Jägermonkey auf
Mozilla ist mit Jägermonkey auf dem richtigen Weg, um bei der Javascript-Geschwindigkeit wieder zur Konkurrenz aufzuschließen. Das belegen aktuelle Benchmarks, die Mozilla-Entwickler Rob Sayre veröffentlicht hat.
Bei der Javascript-Geschwindigkeit ist Firefox in der letzten Zeit von praktisch allen Konkurrenten überholt worden, selbst die Vorabversionen von Microsofts Internet Explorer 9 sind mittlerweile in Benchmarks schneller als Firefox. Doch das soll sich dank der neuen Javascript-Engine Jägermonkey mit Firefox 4 wieder ändern.
Erstmals angekündigt wurde Jägermonkey im Februar 2010. Die neue Javascript-Engine nutzt Methoden, die sich in anderen Browsern bereits bewährt haben und verknüpft diese mit der aktuellen Javascript-Engine Tracemonkey. Denn wann immer Tracemonkey seine Stärken, das Tracing, ausspielen kann, ist Mozillas Javascript-Engine der Konkurrenz überlegen. Doch nicht in allen Situationen kann das sogenannte Tracing genutzt werden, so dass Firefox auf seinen alten Javascript-Interpreter zurückgreift. Und dieser ist sehr langsam.
Jägermonkey übersetzt in solchen Situationen komplette Methoden in Maschinencode, was zwar etwas langsamer ist als Tracing, aber sehr viel häufiger genutzt werden kann. Das Ziel: Wann immer Tracing schneller ist, soll es weiterhin zum Einsatz kommen. Ist das nicht der Fall, soll Jägermonkey die in nativen Maschinencode übersetzten Methoden verwenden. Wird das korrekt umgesetzt, sollte Firefox in den Benchmarks am Ende wieder schneller sein als die Konkurrenz.
Aktuelle Benchmarks von Mozilla-Entwickler Rob Sayre zeigen, dass Mozilla mit diesem Ansatz auf dem richtigen Weg ist, zumal noch einige Geschwindigkeitssteigerungen bis zur Veröffentlichung von Firefox 4 zu erwarten sind. Demnach ist die aktuelle Entwicklerversion von Firefox mit Jägermonkey im Benchmark Sunspider 0.9.1 fast doppelt so schnell wie Firefox 3.6.9, die aktuelle stabile Version des Browsers. Zwar sind Internet Explorer 9 Preview 3, Webkit in der Entwicklerversion vom 8. September 2010, Chrome 6.0.472.55 und Opera 10.61 allesamt schneller, der Abstand zur Spitze ist aber deutlich geschrumpft.
In Googles Benchmark V8 macht Firefox dank Jägermonkey einen noch größeren Sprung nach vorn und ist rund dreimal so schnell wie Firefox 3.6.9. Damit schiebt sich der Browser zumindest am Internet Explorer 9 Preview 3 wieder vorbei und liegt nur knapp hinter Webkit in der Entwicklerversion vom 8. September 2010.
Das aber, so Sayre, ist nur der aktuelle Stand und weitere Geschwindigkeitssteigerungen sind bis zum Erscheinen von Firefox 4 noch zu erwarten.
Sayre knöpft sich bei der Gelegenheit aber auch die Benchmarks vor, die zum Teil nicht nur wenig realistisch, sondern sogar fehlerhaft seien. Ein an Google gemeldeter Fehler im V8-Benchmark sei aber rasch korrigiert worden. Das Grundproblem sei aber, dass die Benchmarks alle nicht auf realen Applikationen basieren, was im Übrigen auch für Mozillas Benchmark Dormaeo gelte: "Auch Mozilla ist schuldig, wenn es um das Schreiben schlechter Tests geht."
Einen Seitenhieb gegen den Internet Explorer kann sich Sayre nicht verkneifen: Im Test math-cordic.js der Sunspider-Suite sei der Internet Explorer 9 rund zehnmal schneller als jeder andere Browser. Verändert man den Test aber minimal, brechen die Ergebnisse ein und der IE9 benötigt rund 22-mal so viel Zeit. Das weise auf ein Problem hin, so Sayre.
Wer selbst nachmessen will, kann aktuelle Nightly-Builds von Firefox 4 mit Jägermonkey unter nightly.mozilla.org/js-preview.html herunterladen.
Die Versionsupdates brachten Opera und Safari Speed-Steigerungen um teilweise bis zu 50...
Hmm, 50 Tabs hatte ich noch nicht auf. Aber auf 20 habe ich es durchaus schon einige Male...
Steht das nicht im Prinzip schon im Artikel (von Golem)? "Denn wann immer Tracemonkey...
Ich kenne einen solchen und kann nicht behaupten, dass er irre sei. Assembler wäre...