Zum Hauptinhalt Zur Navigation

David Mandelin: Type Inference macht Firefox 30 bis 44 Prozent schneller

Mozilla-Entwickler Brian Hackett hat die Javascript-Engine von Firefox um Type Inference erweitert. In ersten Javascript-Benchmarks ist Firefox damit 30 bis 44 Prozent schneller.
/ Jens Ihlenfeld
21 Kommentare News folgen (öffnet im neuen Fenster)
Neue Technik für schnellere Javascript-Ausführung (Bild: Mozilla)
Neue Technik für schnellere Javascript-Ausführung Bild: Mozilla

Der Code für Type Inference(öffnet im neuen Fenster) ist seit kurzem Bestandteil des offiziellen Entwicklerzweigs, vermeldet David Mandelin(öffnet im neuen Fenster) , der die Entwicklung der Javascript-Engine von Firefox leitet. Die Technik könnte mit Firefox 9 veröffentlicht werden, die Version soll am 20. Dezember 2011 erscheinen.

Brian Hackett arbeitet seit rund einem Jahr an Type Inference, einem recht komplexen Projekt: Es handelt sich um einen Hybrid aus statischer und dynamischer Analyse, um festzustellen, welche Typen für Stack-Slots, Argumente und lokale Variablen geeignet sind. Das soll in vielen Fällen die Ausführung von Javascript beschleunigen.

Laut Mandelin ist Firefox mit Type Inference in Mozillas Benchmark Kraken auf seinem System rund 44 Prozent schneller. In Googles Javascript-Benchmark V8 in der Version 6 legt Firefox rund 30 Prozent zu. Das Ganze kann mit aktuellen Nightly Builds ausprobiert werden, denn in diesen ist Type Inference mittlerweile enthalten.

Ionmonkey macht Fortschritte

Auch die Arbeit an Ionmonkey(öffnet im neuen Fenster) , dem Nachfolger des JIT-Compilers Jägermonkey, macht Fortschritte, so Mandelin. Ähnlich wie Googles Crankshaft soll Ionmonkey Codeteile besonders aggressiv optimieren. Noch steckt Ionmonkey aber in der Designphase, so dass die Entwicklung noch einige Zeit dauern dürfte. Auch hier soll Hacketts Type Inference integriert werden.

Debug API in den Nightly Builds

Mit dem neuen Debug API(öffnet im neuen Fenster) sind die Mozilla-Entwickler schon weiter: Der Code ist bereits im Hauptentwicklungszweig und damit auch in den aktuellen Nightly Builds, so dass das Debug API wie Type Inference in Firefox 9 Einzug halten könnte.

Über ein Debug Object soll dabei eine saubere Schnittstelle für Debugger geboten werden, die so besser von der Applikation getrennt werden können. Es erlaubt zugleich ein Debuggen aus der Ferne, so dass es möglich wird, eine auf einem Smartphone laufende Javascript-Applikation auf einem Notebook zu debuggen.


Relevante Themen