Firefox 3.1: TraceMonkey beschleunigt Javascript erheblich

TraceMonkey macht einzelne Javascript-Funktionen 20 mal schneller

Die Optimierungstechnik TraceMonkey soll die Ausführung von Javascript in Firefox drastisch beschleunigen und wird in der kommenden Version des Browsers enthalten sein. In einzelnen Teilbereichen wird JavaScript damit 20- bis 40-mal schneller.

Artikel veröffentlicht am ,

Javascript ist längst viel mehr als eine Spielerei um Knöpfe auf Websites einzufärben oder Formulareingaben zu prüfen. Auf der einen Seite nimmt sich die ECMA historisch gewachsenen Unzulänglichkeiten von Javascript an, auf der anderen Seite werden die Implementierungen besser und deutlich schneller, so dass sich ganz neue Dinge mit Javascript realisieren lassen.

In die letztgenannte Kategorie fällt auch TraceMonkey, ein trace-basierter JIT-Compiler der JavaScript beschleunigt. Das Konzept der "trace trees" wurde von Andreas Gal und Michael Franz an der Universität Kalifornien entwickelt und zusammen mit einigen Mozilla-Entwicklern im Rahmen des Tamarin-Projekts auf die kommende Firefox-Generation übertragen.

SunSpider: Firefox 3.1 Nightly Build mit und ohne TraceMonkey
SunSpider: Firefox 3.1 Nightly Build mit und ohne TraceMonkey
Der Tracing-Mechanismus zeichnet die unterschiedlichen Pfade, die beim Durchlauf einer Schleife auftreten können, während der Laufzeit auf und generiert kompilierten Code, der erneut genutzt werden kann, wenn später ein solcher Pfad wieder erreicht wird. Details erklärt Andreas Gal in einem Blog-Eintrag.

Bis diese neue Javascript-Engine zum Einsatz kommt, wird noch einige Zeit vergehen. In den letzten zwei Monaten integrierten daher einige Mozilla-Entwickler zusammen mit Gral und Franz die Technik SpiderMonkey, die in Firefox 3 eingesetzte Javascript-Engine.

Seit Freitag, den 22. August 2008, ist der Code in den aktuellen Entwicklungszweig für Firefox 3.1 integriert und erste, von den Entwicklern veröffentlichte Benchmarks, versprechen einen deutlichen Geschwindigkeitszuwachs.

In den von Javascript-Erfinder Brendan Eich veröffentlichten Benchmarks war die Vorabversion von Firefox 3.1 mit TraceMonkey, in dem vom Webkit-Team veröffentlichten JavaScript-Benchmark, SunSpider rund 1,83mal schneller als Firefox 3.0. In Einzeltests war die aktuelle Entwicklerversion mehr als 30-mal schneller. Allerdings unterscheiden sich die beiden Versionen auch durch weitere Optimierungen.

In einem von Golem.de durchgeführten Vergleich war die aktuelle Entwicklerversion mit aktiviertem TraceMonkey im Schnitt 1,57mal schneller als die gleiche Version mit deaktiviertem TraceMonkey. Teilweise lag die Beschleunigung bei mehr als dem 22fachen. Der Benchmark verwendet allerdings zahlreiche komplexe Stringoperationen, die ohnehin in nativen Code ablaufen und somit durch Änderungen an der Javascript-Engine kaum beschleunigt werden können.

Zudem arbeiten die Mozilla-Entwickler an weiteren Ansätzen um ihre Javascript-Engines zu beschleunigen. Wie sich die Geschwindigkeitszuwächse in realen Applikationen auswirken, zeigte Mike Schroepfer mit einer Browser-basierten Bildbearbeitung.

Standardmäßig ist TraceMonkey in den NightlyBuilds deaktiviert und kann bei about:config unter javascript.options.jit.content aktiviert werden. Integriert ist der TraceMonkey-Code für die Plattformen x86, x86-64 und ARM.

Speziell für Mozilla hat die Beschleunigung von Javascript noch eine direkte Bedeutung: Teile des Browsers sind in Javascript realisiert, so dass Mozilla selbst von der Beschleunigung profitiert.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Flow77 16. Sep 2008

Erste Frage : Warum hast du deinen Firefox 9 Tage gestartet? Wenn ich in Urlaub fahre...

~nendaz 04. Sep 2008

habt ihr nix anderes zu tun als euch gegenseitig fertig zu machen? ^^ ist zwar amüsant...

Mein Gott 26. Aug 2008

Nur blöd dass so wie du das machen willst der User erst weider einstellen kann was er...

Mein Gott 25. Aug 2008

Der Vorposter ist zweifelsfrei ein Trottel, aber ich bin mir nicht sicher ob du nich...



Aktuell auf der Startseite von Golem.de
Quellcode auf Github
MS-DOS 4.00 ist jetzt Open Source

Nachdem der ehemalige CTO eine alte MS-DOS-Floppy entdeckt hat, veröffentlicht Microsoft ein Stück Betriebssystem-Geschichte.

Quellcode auf Github: MS-DOS 4.00 ist jetzt Open Source
Artikel
  1. Startrampe Set: Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz
    Startrampe Set
    Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz

    Lego hat zwei neue Sets vorgestellt, die für Weltraumenthusiasten gedacht sind: das Nasa-Artemis-Startrampen-Set und das Milchstraßen-Galaxie-Set.

  2. Tarifrunde: Montag erneut Streiktag bei der Deutschen Telekom
    Tarifrunde
    Montag erneut Streiktag bei der Deutschen Telekom

    Beim letzten Warnstreik bei der Telekom waren 12.500 Beschäftigte beteiligt. Diesmal wird breiter mobilisiert. Die Telekom versucht Schadensbegrenzung.

  3. Auszieh-Apps: Apple entfernt KI-Nudify-Apps aus dem App Store
    Auszieh-Apps
    Apple entfernt KI-Nudify-Apps aus dem App Store

    Apps, die Personen per KI ungefragt digital ausziehen, sind beliebt. Nun entfernt Apple einige dieser Anwendungen aus dem App Store - aber erst nach Hinweisen von Journalisten.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Asus OLED-Monitor zum Tiefstpreis • Gigabyte GeForce RTX 4070 Ti im Sale • MediaMarkt: Asus Gaming-Laptop 999€ statt 1.599€ • Gamesplanet Spring Sale [Werbung]
    •  /