Chrome が Speedometer で史上最高スコアを獲得したブラウザになれた理由
先週公開したブログ投稿では、この 1 年を通じて Chrome のスピードを向上させ、それが Chrome の M99 リリースとして結実したことをお伝えしました。今回はその続編として、ブラウザのパフォーマンスにおける画期的な成果をどのように達成したのかについて、詳しく説明します。
2008 年に Chrome をリリースして以来、私たちの中核原則の 1 つとなってきたのは、皆さんが使うのがスマートフォンであるかノートパソコンであるかにかかわらず、最速のブラウザを作るということです。私たちはこのパフォーマンスのミッションから一度もそれることなく、Chrome のあらゆる部分を分析し、最適化し続けています。うれしいことに、Chrome は M1 MacBook で行った Apple の Speedometer 2.0 ベンチマーク スイートで 300 点超えを達成しました。これまでで最高のスコアです。今回の速さと好奇心の投稿では、この Chrome の超高速化の舞台裏に迫り、行ってきたすべての作業について説明します。
初期のころから、多くの Chrome のパフォーマンスの改善作業の根底には、「測定できなければ改善できない」という考え方がありました。ブラウザのパフォーマンス測定には、さまざまなベンチマークによって作られた長い歴史があります。ベンチマークは、ブラウザにテスト用のワークロードを提供し、パフォーマンスを追跡します。こういったベンチマークが、一貫性を保ちつつ、変化し続ける現実の世界を反映するのは、困難なことです。Chrome では、内部ベンチマーク インフラストラクチャと、公開されている業界標準のベンチマークを組み合わせて利用し、継続的にパフォーマンスを測定しています。ブラウザの JavaScript のパフォーマンスを比較する場合、現実世界を最もよく反映し、かつ現在最も広く使われているのが、Apple の Speedometer 2.0 ベンチマークです。
私たちは、Speedometer 2.0 が登場して以来、これを使ってパフォーマンスを追跡してきました。Read More
先週公開したブログ投稿では、この 1 年を通じて Chrome のスピードを向上させ、それが Chrome の M99 リリースとして結実したことをお伝えしました。今回はその続編として、ブラウザのパフォーマンスにおける画期的な成果をどのように達成したのかについて、詳しく説明します。
2008 年に Chrome をリリースして以来、私たちの中核原則の 1 つとなってきたのは、皆さんが使うのがスマートフォンであるかノートパソコンであるかにかかわらず、最速のブラウザを作るということです。私たちはこのパフォーマンスのミッションから一度もそれることなく、Chrome のあらゆる部分を分析し、最適化し続けています。うれしいことに、Chrome は M1 MacBook で行った Apple の Speedometer 2.0 ベンチマーク スイートで 300 点超えを達成しました。これまでで最高のスコアです。今回の速さと好奇心の投稿では、この Chrome の超高速化の舞台裏に迫り、行ってきたすべての作業について説明します。
初期のころから、多くの Chrome のパフォーマンスの改善作業の根底には、「測定できなければ改善できない」という考え方がありました。ブラウザのパフォーマンス測定には、さまざまなベンチマークによって作られた長い歴史があります。ベンチマークは、ブラウザにテスト用のワークロードを提供し、パフォーマンスを追跡します。こういったベンチマークが、一貫性を保ちつつ、変化し続ける現実の世界を反映するのは、困難なことです。Chrome では、内部ベンチマーク インフラストラクチャと、公開されている業界標準のベンチマークを組み合わせて利用し、継続的にパフォーマンスを測定しています。ブラウザの JavaScript のパフォーマンスを比較する場合、現実世界を最もよく反映し、かつ現在最も広く使われているのが、Apple の Speedometer 2.0 ベンチマークです。
私たちは、Speedometer 2.0 が登場して以来、これを使ってパフォーマンスを追跡してきました。
Chrome は M87 リリースより M1 ベースの Mac に対応し、この新しい CPU を使った Chrome のスピード測定が始まりました。上の赤い線はそれを表しています。
Chrome の Speedometer スコアは、2015 年より 13 インチ MacBook を使って測定しています。上のグラフから、パフォーマンスの劇的な改善につながっているのは、たくさんあるプロジェクトのうちの一部だけであることがわかります。ファスト ルックアップ、Ignition + TurboFan コンパイラ、超高速解析、JS 呼び出しの高速化、Spectre、ポインタ圧縮、ショート ビルトイン、Sparkplug などの詳細は、V8.dev をご覧ください。ご覧のように、実際には Speedometer スコアの低下につながったプロジェクトもあります。ブラウザ全体を開発するのは、トレードオフを管理することだからです。たとえば、ポインタ圧縮では、メモリを大幅に節約することと引き替えに、わずかなパフォーマンスの低下を受け入れました。同じように、Spectre CPU 脆弱性が登場したときも、パフォーマンスと引き替えにユーザーの安全性を保証しました。
何年も作業を積み重ねてきた結果、Speedometer スコアは 83% 向上し、ユーザーの皆さんに劇的な改善を提供することができました。Apple が M1 CPU を導入し、それと Sparkplug や LTO+PGO を組み合わせたことで、現在の Chrome は 300 を超えるスコアを達成しています。これは、他のブラウザが実現したことのない史上最高のスコアです。\o/
私たちは、パフォーマンスにおいてこのような画期的な成果を達成できたことに感激しています。また、リリースのたびに、さらにパフォーマンスを向上することを楽しみにしています。このブログでは、スピードに関するあらゆることをお伝えしますので、今後もご期待ください。
脚注 : M1 MacBook の統計情報データの出典 : Apple M1 Max 10 コア(8 パフォーマンス、2 効率性)、32 GPU コア、64 GB の MacBook Pro(14 インチ、2021)デバイスを使い、Speedometer 2.0 で Chrome 99.0.4812.0 --enable-features=CanvasOopRasterization --use-cmd-decoder=passthrough と Safari 15.2 17612.3.6.1.6 を比較したもの。
Reviewed by Eiji Kitamura - Developer Relations Team