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. Rundfunk Berlin-Brandenburg (rbb), Berlin
  2. Bosch Software Innovations GmbH, Waiblingen, Berlin
  3. INTENSE AG, Würzburg, Köln
  4. Robert Bosch GmbH, Stuttgart


Anzeige
Blu-ray-Angebote
  1. 17,97€
  2. (u. a. Vier Fäuste für ein Halleluja, Zwei bärenstarke Typen,Vier Fäuste gegen Rio)
  3. 127,00€

Folgen Sie uns
       


  1. Raspberry Pi

    Schutz gegen Übernahme durch Hacker und Botnetze verbessert

  2. UHD-Blu-ray

    PowerDVD spielt 4K-Discs

  3. Raumfahrt

    Europa bleibt im All

  4. Nationale Sicherheit

    Obama verhindert Aixtron-Verkauf nach China

  5. Die Woche im Video

    Telekom fällt aus und HPE erfindet den Computer neu - fast

  6. Hololens

    Microsoft holoportiert Leute aus dem Auto ins Büro

  7. Star Wars

    Todesstern kostet 6,25 Quadrilliarden britische Pfund am Tag

  8. NSA-Ausschuss

    Wikileaks könnte Bundestagsquelle enttarnt haben

  9. Transparenzverordnung

    Angaben-Wirrwarr statt einer ehrlichen Datenratenangabe

  10. Urteil zu Sofortüberweisung

    OLG empfiehlt Verbrauchern Einkauf im Ladengeschäft



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Spielen mit HDR ausprobiert: In den Farbtopf gefallen
Spielen mit HDR ausprobiert
In den Farbtopf gefallen
  1. Ausgabegeräte Youtube unterstützt Videos mit High Dynamic Range
  2. HDR Wir brauchen bessere Pixel
  3. Andy Ritger Nvidia will HDR-Unterstützung unter Linux

Shadow Tactics im Test: Tolle Taktik für Fans von Commandos
Shadow Tactics im Test
Tolle Taktik für Fans von Commandos
  1. Civilization 6 Globale Strategie mit DirectX 12
  2. Total War Waldelfen stürmen Warhammer
  3. Künstliche Intelligenz Ultimative Gegner-KI für Civilization gesucht

Named Data Networking: NDN soll das Internet revolutionieren
Named Data Networking
NDN soll das Internet revolutionieren
  1. Geheime Überwachung Der Kanarienvogel von Riseup singt nicht mehr
  2. Bundesförderung Bundesländer lassen beim Breitbandausbau Milliarden liegen
  3. Internet Protocol Der Adresskollaps von IPv4 kann verzögert werden

  1. Re: 100 Euro mehr investierten und gleich zur...

    Der Spatz | 20:36

  2. Re: Abfrage der Umsätze der vergangen 30 Tage...

    robinx999 | 20:36

  3. Re: Port umlenken

    hle.ogr | 20:32

  4. Re: Erinnert an diesen neuen US-Tarnkappen...

    burzum | 20:31

  5. Re: Äußerst fragewürdiger Einfluss

    gigman | 20:24


  1. 15:33

  2. 14:43

  3. 13:37

  4. 11:12

  5. 09:02

  6. 18:27

  7. 18:01

  8. 17:46


  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