asm.js kommt auch zu Chrome und Opera
Kommentare

Eine in JavaScript geschriebene, abstrakte Zustandsmaschine beflügelt manche Browser-Anwendung im Firefox seit Version 22. Besonders stolz demonstrierte man in diesem Zuge die in WebGL übersetzte Unreal

Eine in JavaScript geschriebene, abstrakte Zustandsmaschine beflügelt manche Browser-Anwendung im Firefox seit Version 22. Besonders stolz demonstrierte man in diesem Zuge die in WebGL übersetzte Unreal Engine in Form der Epic Citadel Demo. Diese Demo lässt sich nun endlich auch in anderen Browsern ausführen. Dennoch läuft sie in Mozillas Browser bis heute unangefochten am schnellsten. Somit war es eine Frage der Zeit, wann die Hersteller der anderen Browser sich dem asm.js-Projekt des Mozilla-Entwicklers Dave Herman anschlossen, oder zumindest die Technologie ebenfalls adoptierten. Nun nehmen die Optimierungsarbeiten Fahrt auf. Im entsprechenden Diskussionsthread von Google Code heißt es dazu:

v8 already benefits quite a bit from asm.js and the final tweaks would be minor

Schon seit März diskutiert man in Google Code, wann man asm.js endlich in die V8-Engine des Chromium-Projektes implementieren wolle. (Dank Operas Adoption des Chromium-Paketes im Februar gelten alle hier genannten Aussagen über Chrome auch für Opera.) Derzeitigen Benchmarks zufolge performt Firefox nach wie vor um Längen besser als Chrome. Wer sich selbst vergewissern will, kann den Octane Benchmark bei sich durchlaufen lassen. Insbesondere der zlib-Benchmark, der in asm.js vorliegt, klopft die ASM-Optimierung genau ab. Und da spürt man den technologischen Vorsprung von Mozilla noch deutlich. 

Asm.js ist ein Subset von JavaScript, das Zielsprache von Compilern wie Emscripten sein kann. Derartig komprimierter und transpilierter Code hält sich strikt an statische Typen und weitere Restriktionen, die zur Laufzeit die Arbeit von JIT-Compilern wie V8 oder OdinMonkey vereinfachen und damit beschleunigen. Dies wird unter anderem im oben bereits erwähnten Diskussionsthread von Google Code sehr ausführlich erläutert. Asm-Code läuft auch in nicht-optimierten JavaScript-Engines problemlos, jedoch profitieren diese nicht von den Anpassungen. Dank der allmählichen Adoption durch die anderen Browser könnte es sich vielleicht schon bald für mehr Entwickler lohnen, ihr JavaScript durch den Emscripten-Compiler zu mangeln. 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -