Mozilla Hacksの2024年3月11日付記事「Improving Performance in Firefox and Across the Web with Speedometer 3」を紹介します。
Speedometer 3は、Webブラウザの性能を測るベンチマークです。ただし、単にJavaScriptのループを速く回せるかを見るものではなく、現代のWebアプリで起きるユーザー操作への応答性を、できるだけ現実に近い形で測ろうとしています。
Speedometer 3のポイント
記事では、Speedometer 3がBlink、Gecko、WebKitという主要ブラウザエンジンの関係者による共同作業として作られたことが強調されています。Mozillaだけ、あるいは特定のブラウザだけに都合のよいベンチマークではなく、Web全体の性能改善に使える共通のものさしを目指している点が重要です。
参照先のSpeedometerリポジトリでは、このベンチマークがWebアプリの応答性を、複数のワークロード上での模擬的なユーザー操作によって測るものだと説明されています。テスト対象は固定された小さな処理ではなく、ユーザーが実際にタスクを完了するまでの流れに近づける設計です。
Firefoxでの効果
記事内で参照されている「Down and to the Right: Firefox Got Faster for Real Users in 2023」も確認しました。そこでは、Firefoxの実ユーザーメトリクスとして、First Contentful Paintやページロード中のJavaScript実行時間、キー入力反映までの遅延が改善していることが紹介されています。
First Contentful Paintは、ページが読み込まれていることをユーザーが初めて視覚的に確認できるタイミングです。Firefoxの性能改善がこの指標に効いているという話は、ベンチマーク上の点数だけでなく、実際の待ち時間の短縮につながっていることを示しています。
具体的な最適化の例
関連するMozilla Hacks記事「Faster Vue.js Execution in Firefox」では、Speedometer 3のVue.jsテストが、FirefoxのProxyオブジェクト処理の改善につながったことが説明されています。Vue 3のリアクティビティでProxyが重要な役割を持つため、ここをJITで最適化できるようにしたわけです。
さらにSpiderMonkey Newsletterでも、Speedometer 3に関係するReactやVue.jsなど人気フレームワーク向けの性能改善、Proxyのプロパティアクセス最適化、Object.assignやJSONパースまわりの改善が触れられています。Speedometer 3は単なる計測ツールではなく、エンジン内部の改善テーマを見つける入口にもなっています。
MozillaのWeb Visionとのつながり
記事が参照しているMozilla’s Vision of the Webでは、Webが誰にでも開かれ、選択肢を持てるプラットフォームであることが重視されています。そこでは、サイト作者がなめらかで高品質な体験を作れることもWebの重要な方向性として語られています。Speedometer 3は、この理念を性能面から支える取り組みだと読めます。
気づき
今回の話で面白いのは、ベンチマークが「競争のための点数」ではなく「改善を向ける先をそろえる道具」になっていることです。ブラウザごとに最適化対象がばらばらだと、ユーザーにとって何が速くなったのか見えにくい。Speedometer 3のように、主要エンジンが同じ現実的なワークロードを見ることで、Web開発者とユーザーの両方に返ってくる改善になりやすくなります。
Webパフォーマンスを見るときは、ベンチマークスコアだけを切り取るのではなく、そのベンチマークがどんな体験を代表しようとしているのかまで見る必要がある、という点も実務的な学びでした。
参照元: Improving Performance in Firefox and Across the Web with Speedometer 3

コメントを残す