「Chrome 91」は最大23%高速化--JavaScriptコンパイラーを刷新

Liam Tung (ZDNet.com) 翻訳校正: 湯本牧子 吉武稔夫 (ガリレオ)2021年05月31日 13時15分
  • 一覧
  • このエントリーをはてなブックマークに追加

 Googleは、「Chrome」に搭載しているJavaScriptエンジン「V8」向けに新しいJavaScriptコンパイラー「Sparkplug」をリリースした。ウェブ体験がはるかに高速になるとうたっており、プロジェクトのエンジニアチームによると、それには「トリック」があるという。

 Sparkplugは、Googleが米国時間5月25日にリリースした「Chrome 91」に組み込まれている。Chrome 91では、セキュリティアップデートに加えて、強力なJavaScriptエンジンであるV8を改良する重要な変更を盛り込んだ。

 MicrosoftもV8を利用している。同社はレガシー版「Edge」のJavaScriptエンジン「Chakra」を廃止し、新版Edgeで「Chromium」ベースに移行してV8に切り替えた。

 Googleによると、SparkplugをV8のJavaScriptパイプラインに統合したことで、Chrome 91のパフォーマンスは最大23%高速化したという。

 「高速なブラウザーを実現するための重要な要素は、JavaScriptの高速な処理だ」とGoogleは述べた

 「Chromeでは、毎日78年分以上に相当する量のJavaScriptコードを実行するV8エンジンがその処理を担う。M91(Chrome 91)では、新しいSparkplugコンパイラー短い組み込み関数の呼び出しを実装したことで最大23%高速化し、毎日17年分以上のCPU使用時間を節約できる」(Google)

 Sparkplugコンパイラーは、V8のバイトコードインタープリター「Ignition」と最適化コンパイラー「TurboFan」の間に置かれる。

 GoogleのV8チームは公式ブログでSparkplugコンパイラーへの取り組みについて詳しく説明し、Sparkplugによるブラウザーパフォーマンス向上の秘密は、負荷の高い作業についてはすでにIgnitionインタープリターがコンパイルを済ませたものを利用するという「トリック」にあるとしている。担当チームはSparkplugを、「最適化しないJavaScriptコンパイラー」と呼んでいる。

 「何よりも、Sparkplugはトリックを使う。これがコンパイルする関数はすでにバイトコードにコンパイルされており、バイトコードコンパイラーがすでに大変な作業の大部分を処理している。(中略)SparkplugはJavaScriptのソースからではなく、バイトコードからコンパイルするため、こうしたことを気にする必要はない」(Google)

 「Sparkplugは、IgnitionとTurbofanの間でバランスを取っている。Sparkplugはネイティブのマシンコードを生成するとはいえ、JavaScriptコードの実行中に収集された情報には依存しないからだ。そのため、比較的高速なコードを生成しながらも、素早く処理を開始できる」(Google)

 エンドユーザーにとってこれは、ウェブでの体験が高速化することを意味する。2008年に登場したGoogleのJavaScriptエンジンV8は、ブラウザーメーカー各社の競争において重要な転換点となった。V8の登場によって、それまでよりもはるかに大きなブラウザー向けアプリケーションをJavaScriptで開発できるようになり、Google ChromeとオープンソースのChromiumプロジェクトは他の主流ブラウザーより優位に立つことになった。

 Microsoftも、「Edge 91」のリリースで大幅なパフォーマンスの向上をアピールしている。同社は、Edgeが「『Windows 10』の最高性能のブラウザー」になったとしている。

この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]