Abo
  • Services:
Anzeige
Firefox Nightly Builds mit Odinmonkey
Firefox Nightly Builds mit Odinmonkey (Bild: Mozilla)

asm.js: Odinmonkey macht Javascript fast so schnell wie nativen Code

Firefox Nightly Builds mit Odinmonkey
Firefox Nightly Builds mit Odinmonkey (Bild: Mozilla)

Mozilla hat die die Javascript-Engine von Firefox um Odinmonkey erweitert. Das Modul enthält einige Optimierungen für asm.js, womit bestimmte Javascript-Programme zwei- bis fünfmal so schnell ausgeführt werden können.

Firefox 22 soll Javascript zwei- bis fünfmal so schnell ausführen können wie in den derzeit schnellsten Javascript-Engines. Dafür soll die Integration von Odinmonkey sorgen. Damit wird die Javascript-Engine von Firefox für die Javascript-Erweiterung asm.js angepasst.

Anzeige

Konkret handelt es sich bei asm.js um ein Javascript-Subset, so dass sich für asm.js geschriebener Code in jeder Javascript-Engine ausführen lässt. Javascript-Engines, die auf asm.js aber vorbereitet sind, sollen in der Lage sein, den entsprechenden Code deutlich schneller auszuführen. Die Entwickler gehen davon aus, dass asm.js-Programme etwa halb so schnell sind wie nativer Code, der in C/C++ geschrieben wurde. Damit soll Javascript mit asm.js in etwa so schnell sein wie Java und C#.

Um diesen Geschwindigkeitssprung zu erreichen, führt asm.js strikte Typen für Integer und Floats sowie einen virtuellen Heap ein, der durch ein Typed Array repräsentiert wird. Integer-Variablen werden nach dem aktuellen Entwurf mit dem Anhang "|0" versehen, Floats wird ein "+" vorangestellt. Die Einhaltung der strikten Typen kann beim Parsen des Javascript-Codes überprüft werden, vorausgesetzt, die Javascript-Engine wird mit "use asm"; dazu angewiesen.

Da sich die Typen während der Laufzeit nicht verändern, kann für den entsprechenden Code ein Ahead-of-Time-Compiler verwendet werden. Auch eine Garbage-Collection ist nicht mehr notwendig, was letztendlich dafür sorgt, dass der Javascript-Code deutlich schneller ausgeführt werden kann.

Gedacht ist asm.js vor allem für automatisch aus anderen Sprachen erzeugten Javascript-Code, beispielsweise C-Code, der per Emscripten in Javascript übersetzt wird.

Firefox Nightly Builds mit Odinmonkey

Die von den Mozilla-Entwickler David Herman, Luke Wagner und Alon Zakai geschaffene Javascript-Erweiterung bedarf allerdings einer angepassten Javascript-Engine, um von den Geschwindigkeitssteigerungen zu profitieren. Mit Odinmonkey wurde jetzt ein entsprechendes Modul in die aktuellen Nightly Builds von Firefox integriert. In der im Juni 2013 erscheinenden Version Firefox 22 soll Odinmonkey dann enthalten, aber vorerst deaktiviert sein.

Luke Wagner hat einige Benchmarks veröffentlicht, in denen mit Emscripten unter Verwendung von asm.js erzeugter Code unter Odinmonkey, Mozillas aktueller Javascript-Engine Spidermonkey und Googles Javascript-Engine V8 ausgeführt wird. Die Zahlen zeigen, welches Potenzial asm.js bietet. Während die native Version der zlib rund fünf- bis sechsmal schneller ist als die Emscripten Javascript-Version unter Spidermonkey und v8, reduziert sich der Geschwindigkeitsvorteil des nativen Codes im Vergleich mit Odinmonkey auf das 1,61Fache.

Derzeit unterstützt die in Firefox integrierte Version von Odinmonkey nur Systeme mit x86/64-Prozessoren unter Windows und Linux. Die Unterstützung für Max OS X sowie ARM-Prozessoren ist laut Wager aber ebenfalls fast fertig.

Wer sich selbst einen Eindruck davon verschaffen will, wie sich Odinmokey auswirkt, benötigt dafür einen aktuellen Nightly Build von Firefox. Wagner empfiehlt, Mozillas Bananabench oder eine auf Basis der Physik-Engine Bullet erstellte Demo auszuprobieren.

Odinmonkey ist in den Nightly Builds von Firefox standardmäßig aktiviert. Das soll auch in der Auroraversion so bleiben. Sobald Firefox 22 in den Betakanal wechselt, soll Odinmonkey darin aber deaktiviert werden, denn die asm.js-Spezifikation soll noch in Zusammenarbeit mit den Entwicklern anderer Javascript-Engines verfeinert werden. Odinmonkey kann dann über den Schalter javascript.options.experimental_asmjs unter about:config aktiviert werden.


eye home zur Startseite
Bachsau 22. Mai 2013

JavaScript ist in Opera schon jetzt um ein vielfaches schneller als in Firefox. Damit...

GodsBoss 26. Mär 2013

Eben, das wird dafür ausgenutzt. Wobei 12.5>>1 natürlich 6 ist. Mit 12.5>>0 erreicht man...

GodsBoss 24. Mär 2013

Es wäre m.E. nicht sinnvoll gewesen, diese beiden zu nutzen. Erstens ist es viel mehr...

GodsBoss 22. Mär 2013

Kommentare gibt es auch in JS. Einige Doc-Werkzeuge nutzen das, um Code-Dokumentation zu...



Anzeige

Stellenmarkt
  1. Schweickert Netzwerktechnik GmbH, Walldorf
  2. Bertrandt Technikum GmbH, Ehningen bei Stuttgart
  3. Jobware Online-Service GmbH, Paderborn
  4. Daimler AG, Stuttgart


Anzeige
Blu-ray-Angebote
  1. für 1€ über Sky Ticket (via App auch auf Smartphone/Tablet, Apple TV, PS3, PS4, Xbox One...
  2. 49,99€ mit Vorbesteller-Preisgarantie
  3. 9,99€

Folgen Sie uns
       


  1. Windows 10

    Microsoft will auf Zwangsupdates verzichten

  2. Brio 4K Streaming Edition

    Logitech-Kamera für Lets-Player und andere Streamer

  3. Vor Bundestagswahl

    Facebook löscht Zehntausende Spammer-Konten

  4. Bilderkennung von Google

    Erste Hinweise auf Lens in der Google-App

  5. Open Source

    Node.js-Führung zerstreitet sich über Code-of-Conduct

  6. Enigma ICO

    Kryptowährungshacker erbeuten halbe Million US-Dollar

  7. SNES Classic Mini

    Mario, Link und Samus machen den Moonwalk

  8. Bixby

    Samsungs Sprachassistent kommt auf Englisch nach Deutschland

  9. Apache-Lizenz 2.0

    OpenSSL-Lizenzwechsel führt zu Code-Entfernungen

  10. Knights Mill

    Intels Xeon Phi hat 72 Kerne und etwas Netburst



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Nach Anschlag in Charlottesville: Nazis raus - aber nur aus PR-Gründen
Nach Anschlag in Charlottesville
Nazis raus - aber nur aus PR-Gründen
  1. Bundesinnenministerium Neues Online-Bürgerportal kostet 500 Millionen Euro
  2. EU-Transparenz EuGH bekräftigt nachträglichen Zugang zu Gerichtsakten
  3. Rücknahmepflicht Elektronikschrott wird kaum zurückgegeben

Radeon RX Vega 64 im Test: Schnell und durstig mit Potenzial
Radeon RX Vega 64 im Test
Schnell und durstig mit Potenzial
  1. Radeon RX Vega Mining-Treiber steigert MH/s deutlich
  2. Radeon RX Vega 56 im Test AMD positioniert sich in der Mitte
  3. Workstation AMD bringt Radeon Pro WX 9100

Threadripper 1950X und 1920X im Test: AMD hat die schnellste Desktop-CPU
Threadripper 1950X und 1920X im Test
AMD hat die schnellste Desktop-CPU
  1. Ryzen AMD bestätigt Compiler-Fehler unter Linux
  2. CPU Achtkerniger Threadripper erscheint Ende August
  3. Ryzen 3 1300X und 1200 im Test Harte Gegner für Intels Core i3

  1. Schweiß stinkt nicht.

    otraupe | 18:50

  2. Re: Nicht so bescheuert wie es auf den Ersten...

    violator | 18:50

  3. Re: CoC Unsinn

    mnementh | 18:47

  4. Können die das jetzt bitte auch bei z.B. Apple...

    Sauberer Elfenpopo | 18:45

  5. Re: Halten wir fest: VW baut garnichts!

    mortates | 18:45


  1. 18:04

  2. 17:49

  3. 16:30

  4. 16:01

  5. 15:54

  6. 14:54

  7. 14:42

  8. 14:32


  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