Abo
  • Services:
Anzeige
Javascript-Generatoren in Spidermonkey nun so schnell wie in V8
Javascript-Generatoren in Spidermonkey nun so schnell wie in V8 (Bild: Mozilla)

Firefox: Spidermonkey beschleunigt Javascript-Generatoren im Firefox

Javascript-Generatoren in Spidermonkey nun so schnell wie in V8
Javascript-Generatoren in Spidermonkey nun so schnell wie in V8 (Bild: Mozilla)

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.

Anzeige

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.

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.


eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. ING-DiBa AG, Frankfurt
  2. A. Kayser Automotive Systems GmbH, Einbeck
  3. Charité - Universitätsmedizin Berlin, Berlin
  4. DATAGROUP Business Solutions GmbH, Hamburg


Anzeige
Blu-ray-Angebote
  1. 16,99€ (ohne Prime bzw. unter 29€ Einkauf zzgl. 3€ Versand)
  2. 65,00€
  3. (u. a. Spaceballs, Training Day, Der längste Tag)

Folgen Sie uns
       


  1. Blizzard

    Starcraft Remastered erscheint im Sommer 2017

  2. Atom-Unfall

    WD erweitert Support für NAS mit Intels fehlerhaftem Atom

  3. SecurityWatchScam ID

    T-Mobile blockiert Spam-Anrufe

  4. AT&T

    USA bauen Millionen Glasfaserverbindungen

  5. Super Mario Run

    Nintendo bleibt trotz Enttäuschung beim Bezahlmodell

  6. Samsung

    Galaxy Note 7 wird per Update endgültig lahmgelegt

  7. The Ringed City

    From Software zeigt Abschluss von Dark Souls 3 im Trailer

  8. Dieter Lauinger

    Minister fordert Gesetz gegen Hasskommentare noch vor Wahl

  9. Die Woche im Video

    Cebit wird heiß, Android wird neu, Aliens werden gesprächig

  10. Mobilfunkausrüster

    Welche Frequenzen für 5G in Deutschland diskutiert werden



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Mass Effect Andromeda im Test: Zwischen galaktisch gut und kosmischem Kaffeekränzchen
Mass Effect Andromeda im Test
Zwischen galaktisch gut und kosmischem Kaffeekränzchen
  1. Mass Effect Andromeda im Technik-Test Frostbite für alle Rollenspieler
  2. Mass Effect Countdown für Andromeda
  3. Mass Effect 4 Ansel und Early Access für Andromeda

Technik-Kritiker: Jaron Lanier will Facebook zerschlagen
Technik-Kritiker
Jaron Lanier will Facebook zerschlagen
  1. Messenger Facebook sagt "Daumen runter"
  2. Let's Play Facebook ermöglicht Livevideos vom PC
  3. Facebook & Co Bis zu 50 Millionen Euro Geldbuße für Hasskommentare

Forensik Challenge: Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
Forensik Challenge
Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
  1. Reporter ohne Grenzen Verfassungsklage gegen BND-Überwachung eingereicht
  2. Selektorenaffäre BND soll ausländische Journalisten ausspioniert haben
  3. Ex-Verfassungsgerichtspräsident Papier Die Politik stellt sich beim BND-Gesetz taub

  1. Re: Geschwindigkeiten zu niedrig

    gaym0r | 02:09

  2. Re: Eigentlich doch genial

    plutoniumsulfat | 01:22

  3. Re: Wenn schon remastered, dann bitte Command and...

    CSCmdr | 01:15

  4. Re: Hoffentlich verlangt jemand von denen eine...

    RipClaw | 01:08

  5. In englisch streamen?!

    Julz2k | 00:55


  1. 19:03

  2. 14:32

  3. 14:16

  4. 13:00

  5. 15:20

  6. 14:13

  7. 12:52

  8. 12:39


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel