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

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. Vodafone Kabel Deutschland GmbH, Berlin
  2. Hornbach-Baumarkt-AG, Großraum Mannheim/Karlsruhe
  3. LEGIAL AG, München
  4. ATS Gesellschaft für angewandte technische Systeme mbH, Kassel


Anzeige
Blu-ray-Angebote
  1. (u. a. Die Goonies, John Mick, Auf der Flucht, Last Man Standing)
  2. 29,99€ (Vorbesteller-Preisgarantie)
  3. (u. a. Der Marsianer, The Hateful 8, Interstellar, Django Unchained, London Has Fallen, Olympus Has...

Folgen Sie uns
       


  1. 5G

    Verizon soll versuchen, Comcast oder Charter zu kaufen

  2. DRAM und Flash

    Toshiba könnte sein Speichergeschäft an WD verkaufen

  3. Satellitennavigation

    Galileo gehen die Uhren aus

  4. Shield TV (2017) im Test

    Nvidias sonderbare Neuauflage

  5. Zenimax

    Mark Zuckerberg verteidigt Macher von VR-Brille bei Gericht

  6. Statt Begnadigung

    Snowdens Aufenthalt in Russland verlängert

  7. FAA

    Drohnenbetreiber muss 200.000 US-Dollar Geldstrafe zahlen

  8. Breath of the Wild

    Zelda bietet auf Switch bessere Auflösung und Sounds

  9. Android Wear 2.0

    Neue Tag-Heuer-Smartwatch soll im Mai 2017 erscheinen

  10. FTC

    Qualcomm soll Apple zu Exklusivvertrag gezwungen haben



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Intel Core i7-7700K im Test: Kaby Lake = Skylake + HEVC + Overclocking
Intel Core i7-7700K im Test
Kaby Lake = Skylake + HEVC + Overclocking
  1. Kaby Lake Intel macht den Pentium dank HT fast zum Core i3
  2. Kaby Lake Refresh Intel plant weitere 14-nm-CPU-Generation
  3. Intel Kaby Lake Vor der Vorstellung schon im Handel

Dienste, Programme und Unternehmen: Was 2016 eingestellt und geschlossen wurde
Dienste, Programme und Unternehmen
Was 2016 eingestellt und geschlossen wurde
  1. Kabel Mietminderung wegen defektem Internetkabel zulässig
  2. Grundversorgung Kanada macht Drosselung illegal
  3. Internetzugänge 50 MBit/s günstiger als 16 MBit/s

GPD Win im Test: Crysis in der Hosentasche
GPD Win im Test
Crysis in der Hosentasche
  1. PowerVR Series 8XE Plus Imgtechs Smartphone-GPUs erhalten ein Leistungsplus
  2. Project CSX ZTEs Community-Smartphone kommt nicht gut an
  3. Tastaturhülle Canopy hält Magic Keyboard und iPad zum Arbeiten zusammen

  1. Re: Mmmmh, 30 FPS

    My1 | 13:06

  2. Re: Der Typ ist größenwahnsinnig

    Lasthope | 13:06

  3. Re: nur 8GB speicher nicht direkt erweiterbar bei...

    Z101 | 13:06

  4. Re: Die Obama-Enttäuschung

    nicoledos | 13:06

  5. Re: Milliarden für Elektroschrott?

    powa | 13:05


  1. 13:01

  2. 12:46

  3. 12:31

  4. 12:10

  5. 11:54

  6. 11:36

  7. 11:26

  8. 11:11


  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