SKY NOTE

skymouseが思った事考えた事を記したもの

Pref..
Speech
STOP
Follow..
QR Code
|◀
▶|
QR
×
voice
volume
0
rate
0
pitch
0

Chrome 30 β版 JavaScript並行コンパイル機能を追加 2014.2.15

GoogleChrome 30 βに「並列コンパイル(Concurrent compilation)」というJavaScriptをマルチコアを利用して並行コンパイルする機能を追加した。

 グーグル、「Chrome」ベータ版に「並列コンパイル」機能を追加
 --JavaScript処理を高速化
 http://japan.cnet.com/news/service/35043921/

C|NETの記事では、並列コンパイルとしているが、このブログでは、並行コンパイルと解釈している。JavaScriptは、インタープリタ言語なので、コンパイルし、マシン語に変換しながら実行している。このことがJavaScriptなどのインタープリタ言語のパフォーマンス上の大きなボトルネックであり、JavaScriptのような言語が遅い理由でもある。

今回のChrome 30 BETAに実装されたものは、従来は、コンパイルしている間は、コアがコンパイルされるまで待っていたものをマルチコアプロセッサを使って、1つのコアにコンパイルをさせ、もうひとつのコアで実行するような並行処理ができるようにし、パフォーマンスの向上を計った。

その性能は、Nexus 5上で『Octane 2.0』(Google独自のスピードテスト)…

・『Mandreel』スコア:27%向上(ゲームのベンチマーク指標のようだ)
・『Epic Citadel Demo』(3Dグラフィックスを利用したデモ)
 グラフィックスを多用するアプリが一層円滑に動作

このことによって、リアルタイム処理など、遅延の許されないプログラムの実行に有利となる。コンパイルを他のコアに任せることで、実行コアは停止すること無く処理に専念できるので、ゲームに有利なだけでなく、ユーザーインターフェースがスムーズに表示されるなど、恩恵は大きいと思う。HTML5で作られたアプリケーションが、このConcurrent compilationにより、スムーズに動く様になれば、より多くのアプリがHTML5ベースとなり、プラットフォームの統合が進むだろう。

コンパイルに使うコアと、実行に使うコアを分けることで、リアルタイム性能を向上させているのが今回のChromeの新しい機能の肝だ。JavaScriptのコードは、遅いし、引っかかる感があったが、今後はプロセッサのマルチコア化が進むことで、そういう引っ掛かりや遅さがなくなっていき、ネイティブコードと変わらなくなっていくと考えられる。(速度は違うだろうが、操作感が大して変わらなくなるだろう)