Mozilla asm.js soll Javascript deutlich schneller machen

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.

Anzeige

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.

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

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.


Jacques de... 19. Feb 2013

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

Kommentieren




Anzeige
  1. Software-Entwickler PHP / MySQL (m/w)
    jobvector/Capsid GmbH, Düsseldorf
  2. Manager Global IT-Infrastruktur-Architektur (m/w)
    Fresenius Netcare GmbH, Bad Homburg
  3. Software Development Engineer (m/w)
    NMB -Minebea- GmbH, Langen bei Frankfurt/Main
  4. Mobile Solutions Developer / Analyst (m/w)
    Continental AG, Hannover

 

Detailsuche


Folgen Sie uns
       


  1. Microsoft

    Kein Onlinezwang für Xbox One

  2. Streaming-Video

    Appwork wehrt sich gegen Verbot von JDownloader-Funktion

  3. Kim Dotcom

    Alle Megaupload-Daten beim Hoster Leaseweb gelöscht

  4. Prism-Skandal

    Edward Snowden will Asyl in Island

  5. ICS

    Kaspersky will sicheres eigenes OS für Industrieanlagen

  6. Neuland Internet

    Merkel macht sich zum Gespött der Netzgemeinde

  7. Satoru Iwata

    Nintendo schließt Preissenkung für Wii U aus

  8. Video

    John McAfee ruft zum Deinstallieren der McAfee-Software auf

  9. Merkel zu Prism

    "Das Internet ist für uns alle Neuland"

  10. Flutkatastrophe

    Ein Spendenkonzert, die Gema und das Prinzip



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
JDownloader2: Downloadfunktion für Streaming in Deutschland verboten
JDownloader2
Downloadfunktion für Streaming in Deutschland verboten

Das Landgericht Hamburg hat die Downloadfunktion für geschützte Streams in JDownloader2 verboten. Bei Herstellung, Verbreitung und Besitz zu gewerblichen Zwecken droht ein Ordnungsgeld von 250.000 Euro. Es geht bei der Klage um Inhalte auf einer Plattform von ProSiebenSat.1.

  1. Urheberrecht Hoster haftet bei zu später Löschung
  2. Verbraucherschützer und Minister Neues Urheberrecht für Privatkopie und freies Teilen
  3. Warner und Universal Filmstudios wollen Mega aus dem Google-Index tilgen

Edward Snowden: NSA-Hacker verursachen weltweit Systemabstürze
Edward Snowden
NSA-Hacker verursachen weltweit Systemabstürze

Der NSA-Whistleblower spricht über die tägliche Praxis der US-Geheimdienste und die Folgen für die Angegriffenen. Er bekräftigte, dass er von seinem NSA-Rechner aus an die elektronischen Kommunikationsdaten von jedem kommen konnte.

  1. Ex-US-Vizepräsident Cheney verdächtigt Edward Snowden der Spionage für China
  2. NSA Geheimdienste lassen sich Sicherheitslücken liefern
  3. TAO US-Geheimdienst NSA spioniert China seit 15 Jahren aus

Erster Blick auf iOS 7: Neuanfang mit iTunes Radio und knalligen Farben
Erster Blick auf iOS 7
Neuanfang mit iTunes Radio und knalligen Farben

Golem.de hat mit iOS 7 schon einmal eine kleine Rundreise gewagt, die uns von Berlin nach Caerdydd und Bristol wieder zurück nach Berlin führte. Dabei haben wir iTunes Radio ausprobiert, uns an die neuen Farben und die Bedienung gewöhnt und neue Roaming-Daten gesehen.

  1. Maps Apples Kartenmaterial kommt auf die Macs
  2. Apple iOS 7 mit Multitasking und neuem Interface
  3. Jonathan Ive Apple unter Zeitdruck wegen Designänderungen an iOS 7

Zum Artikel