Google Chrome のバージョンが 51 になりました [1]。Google Chrome のデザインは、クラシック テーマを使用していたのですが、Linux 版ではアップデート後に色が変わってしまいました。まあ、これも慣れです。
さて、バージョン 51 で思い出すのが WebAssembly です [2]。WebAssembly とは、クロスプラットフォームな Web 上で使用できるバイトコードの定義です。言い換えるならば、WebAssembly とは Web のための仮想 CPU を定義することと言えます [3]。
この WebAssembly は、有り難いことに主要なウェブブラウザで利用できるようにブラウザベンザーが協力して開発を進めているようです。Google Chrome では Google Chrome Canary のビルド 51 から WebAssembly が試験的に利用できるようになりましたが、残念ながら Linux 版の Chrome Canary は提供されていませんでした。しかし、ようやく Google Chrome 安定版のバージョン 51 がリリースされたことで、Linux でも試すことができるようになったはずなので、早速試してみました。
Octane - The JavaScript benchmark
WebAssembly が効率的なバイトコードになるように開発されることで恩恵を受けるのが、JavaScript の低水準レベルでのサブセットである asm.js です。そこで、まずは現状の Javascript エンジンについてベンチマークを取っておきます。ベンチマークには Google の Octane [4] を使用しました。
動作環境は次の通りです。
- PC: HP Stream 11-r016TU
- OS: Fedora 24 (x86_64, Beta)
- Google Chrome バージョン 51.0.2704.63 (64-bit)
なお、スコアの結果にはばらつきがありますので、 Octane を 5 回連続実施して一番高いスコアを残しています。
WebAssembly の有効化
Google Chrome のアドレスバーに chrome://flags/#enable-webassembly と入力します。
試験運用版 WebAssembly の行で「有効にする」をクリック後、画面下の「今すぐ再起動」をクリックして Google を再起動して機能を有効にします(右図)。
再びベンチマーク
再起動後、ふたたび 5 回連続して Octane によるベンチマークを実施し、最もスコアが高かった結果を残します。
まとめ
Octane の総合スコアでは、WebAssembly を有効にした場合の方が若干高くなっていますが、各項目を較べると、Regexp と SplayLatency の二項目を除き、似たりよったりです。今後もバージョンが上がる度に、なるべく環境を揃えて比較できるベンチマーク結果を蓄積していきたいと思います。Javascript をベンチマークするソフトウェアについても、経験が足りないのでいくつか評価していく予定です。
Default | WebAssmbly Enabled |
change ratio [%] |
|
---|---|---|---|
Richards | 9193 | 9330 | 1.48 |
Deltablue | 16437 | 16053 | -2.36 |
Crypto | 9620 | 9698 | 0.81 |
Raytrace | 17020 | 16206 | -4.90 |
EarleyBoyer | 10895 | 10974 | 0.72 |
Regexp | 867 | 1239 | 35.33 |
Splay | 4849 | 4375 | -10.28 |
SplayLatency | 8933 | 10681 | 17.82 |
NavlerStokes | 11913 | 11685 | -1.93 |
pdf.js | 3610 | 3462 | -4.19 |
Mandreel | 6063 | 6052 | -0.18 |
MandreelLatency | 12882 | 12717 | -1.29 |
GB Emulator | 15130 | 14618 | -3.44 |
CodeLoad | 3150 | 3164 | 0.44 |
Box2DWeb | 10479 | 10210 | -2.60 |
zlib | 22673 | 22616 | -0.25 |
Typescript | 8140 | 7980 | -1.99 |
TOTAL | 8157 | 8271 | 1.39 |
参考サイト
- Googleの「Chrome 51」が安定版に、42件のセキュリティ問題を修正 - ITmedia エンタープライズ (2016/05/26)
- JavaScriptを補完してウェブを高速化する「WebAssembly」をChromeがついに実装したので実行速度を試してみた - GIGAZINE (2016/03/16)
- WebAssembly が 1 つのマイルストーンを達成しました: 複数ブラウザによる実験的なサポートがはじまりました | Mozilla Japan ブログ (2016/03/16)[原文]
- Octane | Google Developers
にほんブログ村
0 件のコメント:
コメントを投稿