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. Landeshauptstadt München, München
  2. STAHLGRUBER GmbH, Poing bei München
  3. Bosch Software Innovations GmbH, Berlin
  4. Salzgitter Mannesmann Handel GmbH, Düsseldorf


Anzeige
Blu-ray-Angebote
  1. 12,85€ + 5€ FSK18-Versand
  2. Einzelne Folge für 2,99€ oder ganze Staffel für 19,99€ kaufen (Amazon Video)

Folgen Sie uns
       


  1. E-Mail

    Adobe veröffentlicht versehentlich privaten PGP-Key im Blog

  2. Die Woche im Video

    Schwachstellen, wohin man schaut

  3. UAV

    Matternet startet Drohnenlieferdienst in der Schweiz

  4. Joint Venture

    Microsoft und Facebook verlegen Seekabel mit 160 Terabit/s

  5. Remote Forensics

    BKA kann eigenen Staatstrojaner nicht einsetzen

  6. Datenbank

    Börsengang von MongoDB soll 100 Millionen US-Dollar bringen

  7. NH-L9a-AM4 und NH-L12S

    Noctua bringt Mini-ITX-Kühler für Ryzen

  8. Wegen Lieferproblemen

    Spekulationen über Aus für Opels Elektroauto Ampera-E

  9. Minix

    Fehler in Intel ME ermöglicht Codeausführung

  10. Oracle

    Java SE 9 und Java EE 8 gehen live



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Lenovo Thinkstation P320 Tiny im Test: Viel Leistung in der Zigarrenschachtel
Lenovo Thinkstation P320 Tiny im Test
Viel Leistung in der Zigarrenschachtel
  1. Adware Lenovo zahlt Millionenstrafe wegen Superfish
  2. Lenovo Smartphone- und Servergeschäft sorgen für Verlust
  3. Lenovo Patent beschreibt selbstheilendes Smartphone-Display

Wireless Qi: Wie die Ikealampe das iPhone lädt
Wireless Qi
Wie die Ikealampe das iPhone lädt
  1. Noch kein Standard Proprietäre Airpower-Matte für mehrere Apple-Geräte

Apples iPhone X in der Analyse: Ein iPhone voller interessanter Herausforderungen
Apples iPhone X in der Analyse
Ein iPhone voller interessanter Herausforderungen
  1. Smartphone Apple könnte iPhone X verspätet ausliefern
  2. Face ID Apple erlaubt nur ein Gesicht pro iPhone X
  3. iPhone X Apples iPhone mit randlosem OLED-Display kostet 1.150 Euro

  1. Re: War das im Video das Kabel oder der Zugdraht?

    ArcherV | 10:58

  2. Re: Absicht?

    ArcherV | 10:48

  3. Re: Wieder mal Schwachsinn

    Schattenwerk | 10:48

  4. Re: Vorher Diesel, jetzt E-Auto, das sind echt...

    TC | 10:42

  5. Re: Mal sehen, wie das bei den "echten deutschen...

    ArcherV | 10:41


  1. 11:03

  2. 09:03

  3. 17:43

  4. 17:25

  5. 16:55

  6. 16:39

  7. 16:12

  8. 15:30


  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