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. Robert Bosch Start-up GmbH, Renningen
  2. Schwäbische Werkzeugmaschinen GmbH, Schramberg - Waldmössingen
  3. Apex Tool Holding Germany GmbH & Co. KG, Westhausen, Besigheim
  4. Technische Universität Hamburg, Hamburg


Anzeige
Top-Angebote
  1. (u. a. Morrowind PC/Konsole für 15€ und Prey PS4/XBO für 15€)
  2. 66€
  3. (u. a. Honor 8 für 279€)

Folgen Sie uns
       


  1. Staingate

    Austauschprogramm für fleckige Macbooks wird verlängert

  2. Digitale Infrastruktur

    Ralph Dommermuth kritisiert deutsche Netzpolitik

  3. Elektroauto

    VW will weitere Milliarden in Elektromobilität investieren

  4. Elektroauto

    Walmart will den Tesla-Truck

  5. Die Woche im Video

    Ausgefuchst, abgezockt und abgefahren

  6. Siri-Lautsprecher

    Apple versemmelt den Homepod-Start

  7. Open Routing

    Facebook gibt interne Plattform für Backbone-Routing frei

  8. Übernahme

    Vivendi lässt Ubisoft ein halbes Jahr in Ruhe

  9. Boston Dynamics

    Humanoider Roboter Atlas macht Salto rückwärts

  10. Projekthoster

    Github zeigt Sicherheitswarnungen für Projektabhängigkeiten



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Smartphoneversicherungen im Überblick: Teuer und meistens überflüssig
Smartphoneversicherungen im Überblick
Teuer und meistens überflüssig
  1. Winphone 5.0 Trekstor will es nochmal mit Windows 10 Mobile versuchen
  2. Librem 5 Das freie Linux-Smartphone ist finanziert
  3. Aquaris-V- und U2-Reihe BQ stellt neue Smartphones ab 180 Euro vor

Erneuerbare Energien: Siemens leitet die neue Steinzeit ein
Erneuerbare Energien
Siemens leitet die neue Steinzeit ein
  1. Siemens und Schunk Akkufahrzeuge werden mit 600 bis 1.000 Kilowatt aufgeladen
  2. Parkplatz-Erkennung Bosch und Siemens scheitern mit Pilotprojekten

Cubesats: Startup steuert riesigen Satellitenschwarm von Berlin aus
Cubesats
Startup steuert riesigen Satellitenschwarm von Berlin aus
  1. Arkyd-6 Planetary Resources startet bald ein neues Weltraumteleskop
  2. SAEx Internet-Seekabel für Südatlantikinsel St. Helena
  3. Sputnik Piep, piep, kleiner Satellit

  1. Re: Elektro Trucks sind leiser und somit entsteht...

    User_x | 03:56

  2. Re: die alte leier

    Andre S | 02:23

  3. Re: VW am ehesten zuzutrauen

    Ein Spieler | 02:21

  4. Re: Schieber auf Scrollbalken

    LinuxMcBook | 02:07

  5. Re: Ladeleistung

    m9898 | 02:01


  1. 17:14

  2. 13:36

  3. 12:22

  4. 10:48

  5. 09:02

  6. 19:05

  7. 17:08

  8. 16: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