Abo
  • 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, Altenholz bei Kiel, Bremen, Halle (Saale), Hamburg, Magdeburg, Rostock
  2. Dataport, verschiedene Standorte

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.



Anzeige
Blu-ray-Angebote
  1. 34,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
       


Two Point Hospital - Golem.de live

Dr. Dr. Golem meldet sich zum Dienst und muss im Livestream unfassbar viele depressive Clowns heilen, nein - nicht die im Chat.

Two Point Hospital - Golem.de live Video aufrufen
Echo Link: Amazon hält sich für Sonos
Echo Link
Amazon hält sich für Sonos

Sonos ist offenbar für Amazon ein Vorbild. Anders ist die Existenz des Echo Link und des Echo Link Amp nicht zu erklären. Aber ohne ein Ökosystem wie das von Sonos sind die Produkte völlig unsinnig.
Ein IMHO von Ingo Pakalski

  1. Smarte Echo-Lautsprecher Amazon macht Alexa schlauer
  2. Amazon Alexa Echo-Lautsprecher können bald über Skype telefonieren
  3. Zusatzbox Amazon bringt Alexa mit Echo Auto in jedes Auto

Geforce RTX 2080 (Ti) im Test: Nvidias Turing-Grafikkarten sind konkurrenzlos
Geforce RTX 2080 (Ti) im Test
Nvidias Turing-Grafikkarten sind konkurrenzlos

Technisch gibt es an der Geforce RTX 2080 (Ti) nichts zu meckern: Die Grafikkarten mit Nvidias Turing-Architektur sind extrem schnell und das Referenz-Design ist dabei dennoch erfreulich leise. Wer Deep-Learning- oder Raytracing-Optik will, muss aber teuer bezahlen und vorerst warten.
Ein Test von Marc Sauter

  1. Grafikkarten Das kann Nvidias Turing-Architektur
  2. Tesla T4 Nvidia bringt Googles Cloud auf Turing
  3. Battlefield 5 mit Raytracing Wenn sich der Gegner in unserem Rücken spiegelt

Fifa 19 und PES 2019 im Test: Knapper Punktsieg für EA Sports
Fifa 19 und PES 2019 im Test
Knapper Punktsieg für EA Sports

Es ist eher eine Glaubens- als eine echte Qualitätsfrage: Fifa 19 oder PES 2019? Golem.de zieht anhand der Versionen für Playstation 4 den Vergleich - und kommt zu einem schwierigen, aber eindeutigen Urteil.
Ein Test von Olaf Bleich und Benedikt Plass-Fleßenkämper

  1. Fifa 19 angespielt Präzisionsschüsse, Zweikämpfe und mehr Taktik
  2. EA Sports Fifa 18 bekommt kostenloses WM-Update
  3. Bestseller Fifa 18 schlägt Call of Duty in Europa

    •  /