ニュース

モバイル版「Google Chrome」は過去2年で2倍高速に ~その秘訣を公式ブログで解説

「Speedometer」ベンチマークのスコアで

過去2年間にわたるパフォーマンス改善の結果、「Speedometer」ベンチマークのスコアが2倍以上に

 モバイル(Android)版「Google Chrome」では、過去2年間にわたるパフォーマンス改善の結果、「Speedometer」ベンチマークのスコアが2倍以上になっているという。米国時間12月4日に公式ブログ「Chromium Blog」で、その取り組みの一部を解説する記事が掲載されている。

ビルドの最適化

 現在のAndroidデバイスはエントリーレベルのデバイスから最新のプレミアムスマートフォンまで、実に多種多様だ。そして、どの端末でも「Chrome」は問題なく動作する必要がある。

 しかし、昨年までの「Chrome」はどの端末に対しても同じバイナリが提供されていた。つまり、メモリとストレージに制約のあるエントリー端末でも動くようにビルドされた「Chrome」が、メモリとストレージを潤沢に使える高級端末にも提供されていたわけだ。これでは高級端末のポテンシャルを引き出すのは難しい。

 そこで、「Chrome 113」(2023年5月リリース)からは「Google Play」ストアを通じ、プレミアムAndroidデバイスをターゲットとしたより高性能なビルドが別途提供されるようになった。このビルドでは以下の最適化が含まれており、バイナリのサイズは多少大きくなるが、より高速な動作が見込める。

  • 32bit Armではなく64bit Armをターゲットに。より効率的な命令セットの機能も活用できる
  • バイナリサイズを抑えるビルドオプション(-Oz)ではなく、速度を重視したビルドオプション(-O2/-O3)でC++コードをコンパイル
  • 頻繁に用いられる部分(ホットコード)は、関数をインライン化して呼び出しオーバーヘッドを削減。そうでない部分(コールドコード)はインライン化を抑えてサイズを削減
  • まず一度高速なコンパイルを行い、その動作を解析(プロファイル)した結果を利用して、さらに最適化のための時間をかけたコンパイルを行う「PGO」(Profile-Guided Optimization)をビルドに適用。ホットコードのコードレイアウトと最適化レベルをさらに改善
  • orderfileの生成を64bitビルドに合わせ、クロスファンクションのコード順序を改善。「Speedometer 3」もorderfileの生成に使用するワークロードに含める

 これらのビルド最適化はArmの協力によって実現され、「Chrome」で達成された「Speedometer」スコア改善の実に半分以上を占めているという。

ビルド最適化による改善

「V8」と「Blink」の改善

 さらに、レンダリングエンジン「Blink」とスクリプトエンジン「V8」でも細かい改善が積み重ねられた。それぞれの最適化の影響はごくわずかだが、積み重ねることで残りの「Speedometer」スコア改善の大部分に貢献しているという。

  • 「innerHTML」属性の解析に最適化された「fast-path HTML」パーサーを採用
  • 「V8」コンパイラーの構成を「Ignition」と「Turbofan」の2つから、間に「Sparkplug」を挟んだ3段階に。加えて、準最適化コードを生成する新しい中間層コンパイラー「Maglev」もリリース。コンパイル速度と最適化の度合いが異なるこれらのコンパイラーを状況により賢く使い分けることにより、性能と消費電力の両方を向上させることができる
  • ガベージコレクションのタイミングを決定するヒューリスティックをチューニング
  • そのほかにも「V8」やパース、スタイル、レイアウト、テキストレンダリングエンジンなどで多くの段階的な最適化を実施
「V8」と「Blink」の改善による影響

スケジューリングとOS

 可能な限り最高のパフォーマンスを達成するため、AndroidのパートナーはOSのスレッドスケジューリングと周波数スケーリングポリシーのチューニング、およびシリコン自体のパフォーマンスの向上に多大な投資を行っている。

 Googleも「Speedometer」スコアを改善するためさまざまなパートナーと協力しているが、なかでもQualcommとのコラボレーションは実りあるものであったという。最適化されたスケジューリングポリシーと改善されたハードウェア性能を組み合わせることで、「Snapdragon 8 Elite」は「Speedometer 3.0」において、前モデルと比較し60~80%もの改善を実現した。これはクラス最高レベルのもので、前述のPGOの改善や「V8」の強化も、このコラボレーションにより必要性が浮き彫りになったという。

「Snapdragon 8 Gen 3.0」(左)と「Snapdragon 8 Elite」(右)、「Chrome 131」で「Speedometer」テストを実施した様子

 同社は「Speedometer」スコアの改善を通じ、Webサイトの読み込みや操作が大きく高速化されたと強調。「Chrome 112」(2023年4月リリース)では「Pixel Tablet」で「Google ドキュメント」を読み込むのに現在より50%以上の時間がかかっていたが、「Speedometer」スコアの改善により現在の速さになったとアピールしている。

「Google ドキュメント」の読み込み速度も「Chrome 112」から「Chrome 129」で大きく改善