• IT-Karriere:
  • Services:

Firefox: Spidermonkey beschleunigt Javascript-Generatoren im Firefox

Dank einiger Optimierungen an der Spidermonkey-Engine sind Javascript-Generatoren im Firefox nun über zwanzigmal so schnell wie vorher. Damit ist der Code wieder gleichauf mit Googles V8.

Artikel veröffentlicht am ,
Javascript-Generatoren in Spidermonkey nun so schnell wie in V8
Javascript-Generatoren in Spidermonkey nun so schnell wie in V8 (Bild: Mozilla)

Die in der Spezifikation von Ecmascript 6 definierten Generator-Konstrukte werden von der Javascript-Engine des Firefox, Spidermonkey, 22-mal so schnell ausgeführt wie bisher, wie der Entwickler Andy Wingo in seinem Blog schreibt. Über Generatoren lässt sich die Funktionsausführung zwischenzeitlich unterbrechen, was etwa beim Verarbeiten von Live-Datenströmen hilfreich sein kann.

Stellenmarkt
  1. Dataport, verschiedene Standorte
  2. Deutsche Bahn AG, Berlin

Eine erste Implementierung dieser ist durch ein Sponsoring von Bloomberg bereits seit Firefox 26 in Spidermonkey enthalten. Doch bisher seien diese nur durch die unterste und langsamste Schicht der Engine ausgeführt worden, was Wingo mit der Wahl der eher einfachen Implementierung der Generatoren begründet. Diese ließe sich aber nicht vom JIT-Compiler verwenden.

Unterbrochene Generatoren werden nun als "Schnappschuss des Status eines Aufrufrahmens (Stackframe), anstatt als Aufrufrahmen selbst" repräsentiert. Dafür haben die Entwickler zunächst Optimierungen vorgenommen, um diesen Schnappschuss zu verkleinern und schließlich die Generatoren auf dem "normalen Interpreter-Stack" zu implementieren. Der Maintainer des JIT-Teils in Spidermonkey Jan de Mooij übernahm letztlich noch ausstehende Patches und verbesserte weiter.

So werden die Generatoren JIT-kompiliert, was in einfachen Benchmarks zu der genannten Beschleunigung führen kann. Den Angaben von Wingo zufolge ist Spidermonkey damit nun wieder ähnlich schnell wie Googles V8 beim Ausführen dieses Funktionstyps.

Das Verhalten der Generatoren kann in vielen Sprachen implementiert werden, ohne dass dafür bestimmte Funktionstypen notwendig sind, auch in Javascript. Die Implementierung in Ecmascript 6 ist deshalb als syntaktischer Zucker zu betrachten, der das Schreiben von dem notwendigen Quelltext etwas vereinfacht. Das dafür notwendige Schlüsselwort function* erinnert wegen des Sternchens an einen Zeiger in anderen Sprachen, ist mit diesen aber nicht vergleichbar, da die Sprache Javascript über keine Zeiger verfügt.

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


Anzeige
Spiele-Angebote
  1. 9,99€
  2. 27,99€
  3. 9,99€

TheUnichi 17. Nov 2014

22% von 3 sind 0.66, der Unterschied zwischen 3 und 3.66 ist alles andere als ein "gutes...

irisquelle 16. Nov 2014

Ich habe ja keine Fundamentalkritik an Firefox geübt, sondern lediglich die Prioritäten...

Lala Satalin... 15. Nov 2014

Für mich muss ein Browser nicht nur alle Funktionen bieten, sondern auch schnell sein...


Folgen Sie uns
       


Cirrus7 Incus A300 - Test

Wir testen den Incus A300 von Cirrus7, einen passiv gekühlten Mini-PC für AMDs Ryzen 2000G/3000G.

Cirrus7 Incus A300 - Test Video aufrufen
Microsoft Teams im Alltag: Perfektes Werkzeug, um Effizienz zu vernichten
Microsoft Teams im Alltag
Perfektes Werkzeug, um Effizienz zu vernichten

Wir verwenden Microsofts Chat-Dienst Teams seit vielen Monaten in der Redaktion. Im Alltag zeigen sich so viele Probleme, dass es eigentlich eine Belohnung für alle geben müsste, die das Produkt verwenden.
Von Ingo Pakalski

  1. Coronavirus Microsoft muss einige Azure-Dienste und Teams einschränken
  2. Microsoft Investition in Entwickler von Gesichtserkennung soll enden
  3. Adobe-Fontbibliothek Font-Sicherheitslücke in Windows ohne Fix

Next-Gen: Welche neue Konsole darf's denn sein?
Next-Gen
Welche neue Konsole darf's denn sein?

Playstation 5 oder Xbox Series X: Welche Konsole besser wird, wissen wir auch noch nicht. Grundüberlegungen zur Hardware und den Ökosystemen.
Ein IMHO von Peter Steinlechner

  1. Elektroschrott Kauft keine kleinen Konsolen!
  2. IMHO Porsche prescht beim Preis übers Ziel hinaus

Künast-Urteil: Warum Pädophilen-Trulla ein zulässiger Kommentar sein kann
Künast-Urteil
Warum "Pädophilen-Trulla" ein zulässiger Kommentar sein kann

Die Grünen-Politikerin Renate Künast muss weiterhin wüste Beschimpfungen auf Facebook hinnehmen. Wie begründet das Berliner Kammergericht seine Entscheidung?
Eine Analyse von Friedhelm Greis

  1. Kammergericht Berlin Weitere Beleidigungen gegen Künast sind strafbar
  2. Coronavirus Vorerst geringere Videoqualität bei Facebook und Instagram
  3. Netzwerk-Zeit Facebook synchronisiert Zeit im Bereich von Mikrosekunden

    •  /