Abo
  • Services:
Anzeige
Javascript soll mit asm.js halb so schnell sein wie nativer Code.
Javascript soll mit asm.js halb so schnell sein wie nativer Code. (Bild: Alon Zakai)

Mozilla: asm.js soll Javascript deutlich schneller machen

Javascript soll mit asm.js halb so schnell sein wie nativer Code.
Javascript soll mit asm.js halb so schnell sein wie nativer Code. (Bild: Alon Zakai)

Mit asm.js soll Javascript je nach Situation zwei- bis fünfmal schneller ausgeführt werden, als das in den derzeit schnellsten Javascript-Engines möglich ist. Der für asm.js geschriebene Code läuft allerdings auch in älteren Browsern.

Die Mozilla-Entwickler David Herman, Luke Wagner und Alon Zakai haben mit asm.js einen Ansatz entwickelt, mit dem sich die Ausführung von Javascript drastisch beschleunigen lässt. Gedacht ist asm.js vor allem für Javascript-Programme, die mit Hilfe von Compilern wie beispielsweise Emscripten aus anderen typensicheren Sprachen übersetzt werden.

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. Neue 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#.

  • asm.js im Benchmark-Vergleich (Bild: Alon Zakai)
  • asm.js im Benchmark-Vergleich (Bild: Alon Zakai)
asm.js im Benchmark-Vergleich (Bild: Alon Zakai)

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 Javascirpt-Codes überprüft werden, vorausgesetzt, die Javascript-Engine wird mit "use asm"; dazu angewiesen.

Kann der Code durch asm.js validiert werden, kann die Javascript-Engine einen Ahead-of-Time-Compiler verwenden und sicher sein, dass sich die Typen während der Laufzeit nicht verändern. Auch eine Garbage-Collection ist nicht notwendig, da sich die entsprechenden Programme über den virtuellen Heap selbst um die Speicherverwaltung kümmern.

Das ermöglicht es, den entsprechenden Javascript-Code letztendlich deutlich schneller auszuführen, setzt aber eine Javascript-Engine voraus, die auf asm.js vorbereitet ist. Mozilla arbeitet derzeit an einer entsprechenden Anpassung seiner Javascript-Engine.

Die asm.js-Entwickler räumen ein, dass die gewählte Syntax nicht sehr hübsch ist, das aber sei Compilern wie Emscripten oder Mandreel egal. Dennoch erwägen sie, noch eine besser lesbare Syntax einzuführen.

Der große Vorteil von asm.js gegenüber Ansätzen wie Google Native Client soll darin bestehen, dass der für asm.js vorgesehene Code auch von bestehenden Javascript-Engines ohne Anpassungen ausgeführt werden kann. Und um die Vorteile von asm.js zu nutzen, bedarf es nur kleiner Anpassungen an den Engines. Googles Native Client muss hingegen vom Browser explizit unterstützt werden, was derzeit nur bei Chrome der Fall ist.

Wer asm.js heute schon ausprobieren will, benötigt dazu eine Entwicklerversion von Firefox aus dem Zweig Odinmonkey. Emscripten kann mit dem Schalter "ASM_JS=1" dazu gebracht werden, den passenden Code zu erzeugen.

Geht es nach Emscripten-Entwickler Alon Zakai, könnte asm.js auch die Basis sein, um VMs für andere Sprachen, beispielsweise Java und C#, im Browser zur Verfügung zu stellen, so dass auch Java- und C#-Code auf diesem Weg im Browser ausgeführt werden kann.

Details zu und der Entwurf einer Spezifikation von asm.js finden sich unter asmjs.org.


eye home zur Startseite
Jacques de... 19. Feb 2013

Webstorm von Jetbrains soll sehr komfortabel sein. Zumal in neueren Versionen Sourcemaps...



Anzeige

Stellenmarkt
  1. DRÄXLMAIER Group, Garching
  2. REGUMED Regulative Medizintechnik GmbH, Planegg Raum München
  3. Dataport, Halle (Saale), Magdeburg
  4. flexis AG, Stuttgart


Anzeige
Spiele-Angebote
  1. ab 129,99€
  2. 27,99€
  3. 4,99€

Folgen Sie uns
       


  1. Moto G5 und Moto G5 Plus im Hands on

    Lenovos kompakte Mittelklasse ist zurück

  2. Handy-Klassiker

    HMD Global bringt das Nokia 3310 zurück

  3. Galaxy Tab S3 im Hands on

    Samsung präsentiert Oberklasse-Tablet mit Eingabestift

  4. Galaxy Book im Hands on

    Samsung bringt neuen 2-in-1-Computer

  5. Mobilfunk

    "5G muss weit mehr als LTE bieten"

  6. UHS-III

    Neuer (Micro-)SD-Karten-Standard schafft über 600 MByte/s

  7. Watch 2 im Hands on

    Huaweis neue Smartwatch soll bis zu 21 Tage lang durchhalten

  8. LG G6 im Hands on

    Schlankes Smartphone hat zwei Kameralinsen

  9. P10 und P10 Plus im Hands on

    Huaweis neues P10 kostet 600 Euro

  10. Mobilfunk

    Nokia bringt Vorstandard 5G-Netzwerkausrüstung



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Trappist-1: Der Zwerg und die sieben Planeten
Trappist-1
Der Zwerg und die sieben Planeten
  1. Weltraumteleskop Erosita soll Hinweise auf Dunkle Energie finden
  2. Astrophysik Ferne Galaxie schickt grelle Blitze zur Erde
  3. Astronomie Vera Rubin, die dunkle Materie und der Nobelpreis

Limux: Die tragische Geschichte eines Leuchtturm-Projekts
Limux
Die tragische Geschichte eines Leuchtturm-Projekts
  1. Limux München prüft Rückkehr zu Windows
  2. Limux-Projekt Windows könnte München mehr als sechs Millionen Euro kosten
  3. Limux Münchner Stadtrat ignoriert selbst beauftragte Studie

Wacoms Intuos Pro Paper im Test: Weg mit digital, her mit Stift und Papier!
Wacoms Intuos Pro Paper im Test
Weg mit digital, her mit Stift und Papier!
  1. Wacom Brainwave Ein Graph sagt mehr als tausend Worte
  2. Canvas Dells Stift-Tablet bedient sich bei Microsoft und Wacom
  3. Intuos Pro Wacom verbindet Zeichentablet mit echtem Papier

  1. Re: Das Samsung sich überhaupt noch traut...

    George99 | 20:17

  2. Re: An alle die den Grund für das Verbot nicht...

    der_wahre_hannes | 20:16

  3. Re: Oberklasse...

    satriani | 20:13

  4. Re: 21 Tage Laufzeit?

    JohnD | 20:10

  5. Re: Der Preis...

    pre3 | 20:09


  1. 20:32

  2. 20:15

  3. 19:00

  4. 19:00

  5. 18:45

  6. 18:10

  7. 17:48

  8. 15:49


  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