Oft gelesen und geteilt 24.11.2010, 10:19 Uhr

Special: Alles, was für Firefox 4 spricht

Vieles spricht für den neuen Firefox 4: sein neuer Look, die Grafikkartenbeschleunigung und die neue Engine. In diesem Artikel finden Sie alle Details.
In den jüngsten Browserbenchmarks muss sich Firefox immer öfter der Konkurrenz geschlagen geben. Immer wieder liegen Chrome und Opera deutlich vorne. Nur der Internet Explorer ist noch langsamer als der Mozilla-Browser. Eine neue JavaScript-Engine soll die Geschwindigkeitskrone nun zurückerobern: Jägermonkey.
Um die Funktion von Jägermonkey zu verstehen, werfen wir einen Blick zurück auf Firefox 3.5. Ab dieser Version beschleunigt Mozilla die bestehende JavaScript-Engine Spidermonkey mit dem neuen Tracemonkey.
Jägermonkey (Bild: David Mandelin)
JavaScript-Compiler übersetzen normalerweise Methoden genannte objektorientierte Code-Einheiten in die Zielsprache – eine nach der anderen. Bei Spidermonkey geht vor allem dann viel Zeit verloren, wenn der Interpreter jedes Mal den Code-Typ herausfinden muss, um dann den passenden Schritt einzuleiten (links im Bild, orange). Tracemonkey geht deshalb anders vor und sucht, vereinfacht gesagt, bereits vorab per Interpreter nach typgleichen Code-Bausteinen. Die Funde werden dann zum Kompilieren in Traces gegliedert (Englisch für Spuren). Das spart viel Zeit (ganz rechts im Bild).
Tracing lohnt sich aber nicht, wenn:
• Programme zu viele Pfade haben. Da die Analyse zu viel Speicher benötigen würde, stoppt Tracemonkey nach einer bestimmten Pfad-Zahl und übergibt an Spidermonkey.
• die Code-Typen zu bunt zusammengewürfelt sind. Ähnlich wie bei zu vielen Pfaden steht der Sortieraufwand dann nicht mehr im Verhältnis zum Nutzen.
• die Typisierung durch Codeschnipsel erschwert wird, die zu viele Möglichkeiten offen lassen.
Die Mozilla-Entwickler vergleichen Tracemonkey deshalb mit einem Raketentriebwerk: Es sei zwar sehr schnell, kann aber nicht die ganze Zeit laufen. Weil die Tracemonkey-Schübe kürzer als erwartet ausfallen, fällt Firefox insgesamt gesehen in Benchmarks so weit zurück. Hier kommt Jägermonkey ins Spiel.
Das neue Jägermonkey schraubt an der Engine-Basis – dem Motor, der einspringt, wenn der Raketenbetrieb ausfällt. So verzichtet Mozilla für Jägermonkey bewusst auf den in Tracemonkey verwendeten Compiler Nanojit. Stattdessen greifen die Jägermonkey-Entwickler zu Nitro. Nitro ist in C++ geschriebene Open-Source-Software von Apple. Erste Tests mit Jägermonkey beschleunigten den Browser um 18 % dank Nitro. Tracemonkey ist aber keinesfalls gestorben, sondern in Jägermonkey integriert.
Auf der nächsten Seite erfahren Sie mehr über die Grafikkartenbeschleunigung



Kommentare
Es sind keine Kommentare vorhanden.