Google、asm.jsの最適化はChromeでも進めていることを表明、ただし一般的な最適化として

2013年5月28日

MozillaがJavaScriptの実行速度を劇的に改善する新しい方法として提案したのがasm.jsです

asm.jsはJavaScriptのサブセットと型アノテーションを定義し、事前最適化コンパイラで徹底的に最適化するとともに実行時チェックやガベージコレクションなどの実行速度の足を引っ張る処理を止めてしまうなどの手法で、JavaScriptを高速で実行できるようにします。詳しくは、記事「asm.js:コンパイラのための低レベルかつ高度に最適化可能なJavaScriptのサブセット」をお読みください。

asm.jsは6月末リリース予定のFirerfox 22で対応される予定です。

そしていまのところasm.js対応を表明しているのはMozillaのFirefoxだけですが、5月15日に米国で開催されたGoogle I/Oでは、Chromeでもasm.jsへの最適化が進められていることが示されました。

asm.jsの実行速度を従来の2.4倍に改善

Chromeエンジニアリング担当VPのLinus Upson氏は、Google I/Oの基調講演で次のように話しています。

fig

V8チームはJavaScriptの新しいユースケースについても最適化を推し進めている。Mozillaは最近、非常にうまい方法でC/C++コードをasm.jsと呼ばれるJavaScriptのサブセットにコンパイルする方法を発表した。これでC/C++のコードをWebで走らせることができるようになり、とても注目されている。

このJavaScriptは人間ではなくコンパイラが生成したものであるため、これまでの最適化とはかなり勝手が違っている。しかしこの1カ月でV8チームはasm.jsの実行速度をさまざまな最適化手法を駆使して2.4倍にも高めることができた。

しかしこれはV8がasm.jsに対応するというわけではなく、あくまで一般的な最適化を推し進めた結果だと、ロシアのエンジニアVyacheslav Egorov氏が書いています(Egorov氏は元V8のエンジニアのようです)。

asm.jsの事前最適化コンパイラは「use asm;」命令によって起動されることになっています。V8ではそこまで完全にasm.jsに対応してはいないけれども、一般的なJavaScript最適化として可能な範囲で実行速度の改善を続けているようです。

あわせて読みたい

JavaScript Web技術 asm.js Chrome Firefox Google Mozilla




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本