ソフトウェア

Firefox22が「asm.js」採用へ、JavaScriptがネイティブアプリに近い実行速度まで高速化

By Nathan E Photography

2013年6月にリリース予定のFirefox22に搭載されるJavaScriptエンジン「OdinMonkey」に、JavaScriptプログラムをネイティブコード速度の2倍程度の実行時間で済むように最適化するJavaScriptサブセットである「asm.js」が採用されることが発表されました。既に現時点で利用可能となっているFirefox22のNightlyビルドでは初期設定で「オン」となっており、どれぐらい高速化するかが各種デモとともに体験できます。

asm.js in Firefox Nightly | Luke Wagner's Blog
https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-nightly/


実際にasm.jsがどのようなものかというFAQも用意されているのですが、以下のスライドによる解説が一番わかりやすいです。

Big Web App? Compile It!
http://kripken.github.com/mloc_emscripten_talk/#/19

これがマイクロベンチマーク結果、数値が低くグラフが短いほど優秀となっており、青色がFirefox、赤色がChrome、緑色がFirefox+asm.js、オレンジ色がネイティブアプリです。見て分かるように圧倒的速度をマークしており、ネイティブアプリの実行時間の2倍程度で大体済んでいます。


もっと現実的な状況を想定したリアリスティック・ラージベンチマークの結果では以下のようになっており、数値が低くてグラフが短いほど成績優秀で高速という意味です。見て分かるとおり、Google Chromeよりもはるかに高速で、ネイティブアプリに近い実行速度となっています。


このasm.jsの最大の特徴は先ほどまでのベンチマーク結果を見れば分かるとおり、ネイティブコードの2倍程度の実行時間で済んでしまうという点。しかも新しいVMやJITではなく、既存のJavaScriptエンジンに最適化を加えるに過ぎないため、既存のJavaScriptのコードがそのまま使えます。


ちょうどJavaScriptのサブセットのようなもので、すでに全ブラウザで動作することが確認されており、新しい言語というわけでもないので確実です。


もう少し詳細な点については以下のエントリーなどに明記されており、asm.js自体はファイル先頭か個別機能の先頭に「use asm」と書いてオプトインするだけでよく、各エンジンに事前に最適化されるようになります。

asm.js: A Low Level, Highly Optimizable Subset of JavaScript for Compilers - Badass JavaScript
http://badassjs.com/post/43420901994/asm-js-a-low-level-highly-optimizable-subset-of

asm.js: closing the gap between JavaScript and native
http://www.2ality.com/2013/02/asm-js.html

つまり、このasm.js自体を内蔵することによってFirefoxは高速化を図るわけなので、今年の6月登場予定の「Firefox 22」にはかなり期待できる、というわけです。

この記事のタイトルとURLをコピーする

・関連記事
累計30億ダウンロードされたFirefoxアドオンのベスト8 - GIGAZINE

HTML5で作られた「Firefox OS」搭載スマホの発売が決定、実機の最新デモはこんな感じ - GIGAZINE

Firefox OS搭載スマートフォンの実機試用ムービーがYouTubeで公開中 - GIGAZINE

「Firefox 19」正式版リリース、起動速度が向上しプラグイン不要のPDFビューワ機能搭載 - GIGAZINE

無料でアドオン・ブックマーク・パスワード・履歴などを同期する「Firefox Sync」 - GIGAZINE

Firefoxは1.5倍高速になりメモリ消費量は4分の1に、Mozillaの2012年総括 - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by darkhorse

You can read the machine translated English article here.