6月末リリース予定のFirefox 22は一部のJavaScriptコードを高速に実行させる「asm.js」を搭載
2013年3月26日 08:00
あるAnonymous Coward 曰く、 6月末にリリースが予定されているFirefox 22では、新たなJavaScriptエンジン「OdinMonkey」が搭載される(マイナビニュース)。OdinMonkeyには特定のJavaScriptコードの実行速度を向上させる「asm.js」という技術が採用されるとのことで、C#やJava、Native Client(NaCl)の置き換えを目指しているという(GIGAZINEの記事、Togetterまとめ、Mozilla開発者のブログ)。
asm.jsは既存のJavaScriptコードをそのまま高速化するものでは無く、C/C++といった静的型付けを採用する言語をLLVMを使用してJavaScriptへ変換したコード、またはasm.jsの高速化を意識して特別に書いたJavaScriptコードのみをを高速化するものだ。仕組みは単純で、JavaScriptにおいて変数の型を固定化して高速化しようというアプローチである。
NaClはChrome上でしか動かない。それに対しasm.jsのコードは100%下位互換性のあるJavaScriptなので、asm.js非対応のWebブラウザでも動作する(ただしその場合実行速度は遅くなる)。asm.jsに対応しているFirefox 22では、asm.js対応コードはC#やJava、NaCl より高速に動く(ネイティブコードの2倍という)とのことで、zlibやbulletなどを使ったベンチマーク結果が公開されている。
なお、「Emscripten」をダウンロードし、C/C++コードを "-O2 -s ASM_JS=1"でコンパイルすることでFirefox 22ナイトリービルドでの動作をチェックできる。
スラッシュドットのコメントを読む | ITセクション | Firefox | IT
関連ストーリー:
GNOMEでもJavaScriptによるアプリケーション開発を推奨? 2013年02月22日
Firefox 19 リリース。目玉は内蔵 PDF ビューアー 2013年02月20日
Microsoft、JavaScriptを拡張したプログラミング言語を発表 2012年10月03日