Speedometer 3 : Concevoir un benchmark représentatif du Web

Speedometer 3 : Concevoir un benchmark représentatif du Web
Speedometer 3 : Concevoir un benchmark représentatif du Web

**Introduction**
Speedometer 3.0, un outil d’évaluation des performances des navigateurs, vient d’être publié. Cet article présente les modifications apportées à cette troisième version, qui vise à optimiser les performances des applications Web en stimulant des fonctionnalités courantes rencontrées sur le Web.

**Gouvernance multipartite**
Depuis sa première version en 2014, Speedometer a été utilisé avec succès par les fournisseurs de navigateurs pour améliorer leurs moteurs. La collaboration entre Apple et Chrome a donné naissance à Speedometer 2.0 en 2018, qui comprenait un ensemble de charges de travail plus représentatif du Web moderne. La version actuelle, Speedometer 3, repose sur un nouveau modèle de gouvernance multipartite pour partager les tâches et élaborer une compréhension collaborative des performances sur le Web.

**La sélection des charges de travail : un défi complexe**
Concevoir un benchmark fiable avec des tests et des charges de travail représentatifs est déjà assez difficile. Cette tâche devient encore plus ardue lorsque le benchmark est utilisé comme un outil pour guider l’optimisation des moteurs de navigateurs sur plusieurs années. Pour développer Speedometer 3, l’équipe de Chrome Aurora, en collaboration avec des experts d’autres fournisseurs de navigateurs, a eu pour mission de trouver de nouvelles charges de travail reflétant fidèlement l’expérience des utilisateurs sur le Web vaste, diversifié et éclectique de 2024 et au-delà.

**Évolution des charges de travail**
L’objectif étant d’utiliser des charges de travail représentatives du Web actuel, les charges de travail utilisées dans les versions précédentes de Speedometer ont été réexaminées pour déterminer les changements nécessaires. Il fallait décider quels frameworks étaient toujours pertinents, quelles applications devaient être mises à jour et quels types de tâches n’avaient pas été prises en compte dans les versions précédentes.

**Cadres**
Pour déterminer les frameworks à inclure, l’équipe s’est basée sur des données d’HTTP Archive et a discuté des inclusions avec tous les fournisseurs de navigateurs afin de couvrir un large éventail d’implémentations.

**Plus de charges de travail**
Une simple liste de tâches ne teste qu’un sous-ensemble des fonctionnalités. Par exemple, comment les navigateurs gèrent-ils les mises en page flexbox et grid complexes ? Comment capturer le rendu SVG et Canvas ? Comment inclure des scénarios plus réalistes qui se produisent sur un site Web ?

**Validation**
L’équipe de Chrome Aurora a travaillé avec l’équipe de Chrome V8 pour valider ses hypothèses ci-dessus. Dans Chrome, l’API « runtime-call-stats » permet de mesurer le temps passé dans chaque API Web (et également dans de nombreux composants internes). Cela donne un aperçu de la prédominance de certaines API.

**Conclusion**
La liste finale des charges de travail présente une plus grande variété, et nous espérons que les futures versions de Speedometer s’appuieront sur la liste actuelle.

**Mots-clés :** Benchmark, Performance, Web, Speedometer, Navigateurs

Retour en haut