网页浏览器大共和时代来临?共用基准的浏览器效能测试工具Speedometer 3.0推出
文/李建兴 | 2024-03-13发表
由Apple、Google、微软与Mozilla合作开发的网页浏览器效能测试工具Speedometer 3.0释出,这个版本的重点在于其集结Blink、Gecko和WebKit三大浏览器引擎,共同提升网页浏览体验。Speedometer 3.0由整个网络产业协作开发,这对于主要浏览器基准是一大突破,再加上浏览器互通专案Interop的推行,浏览器破碎的情况有望获得改善。
Speedometer 3.0的主要目标是尽可能反应现实世界的网页情况,以便浏览器在提高基准分数时,能够直接反映在使用者体验上。
由Apple所开发的Speedometer,原本是WebKit专案的一部分,其透过执行一系列的JavaScript和网页功能来评估浏览器的效能,供开发者理解不同浏览器在处理网页时的表现。而WebKit在2022年的时候,与Google和Mozilla展开合作,采用新的治理模式开发Speedometer 3.0基准测试,以共同提高用户的网页浏览效能。
Speedometer 3.0涵盖更广泛且具代表性的用户体验测试,这些新测试模拟一些重要场景和用户互动,是提供浏览器最佳化的重要参考。Speedometer 3.0加入了React Stockcharts、Chart.js、Perf Dashboard和Observable Plot测试以模拟渲染canvas和SVG图表,还有CodeMirror测试程式码编辑、所见即所得编辑TipTap,和针对阅读新闻网站的Next.js和Nuxt.js测试。
新版本还改进了TodoMVC测试,开发团队根据HTTP Archive中的资料,更新程式码适应当前最受欢迎的常见版本,包括Angular、Backbone、jQuery、Lit、Preact、React、React+Redux、Svelte与Vue,同时也针对ES5和ES6的普通JavaScript实作,还有Web Components版本。Speedometer 3.0所进行的测试较之前版本复杂,更符合当前网页应用程式的规模和结构。
Speedometer 3.0本身的测试程式也获得改进,可以更全面地量测浏览器回应使用者操作时所执行的工作,像是绘图(Painting)和异步任务。相较于Speedometer 2.0,Speedometer 3.0提供了一个更加全面的效能评估,因为过去的方法遗漏了浏览器引擎更新网页渲染所需要做的一些工作。
Speedometer 3.0透过在requestAnimationFrame回呼中,量测测试脚本来计算同步时间,并在第二个requestAnimationFrame安排0秒计时器,触发计算异步时间,以确保异步的时间包含测试本身的计时器工作,以及浏览器引擎页面渲染工作(下图)。这些改变大幅提高基准测试的准确性,官方提到,随着浏览器引擎最佳化过去所遗漏的部分,这些改进将会转换成用户体验的实际提升。
由于开发工具的改进,浏览器工程师现在可以更好理解结果,并且进行后续分析和自定义测试,而且由于开发团队重新设计Speedometer 3.0的测试程式架构,因此在编写和维护复杂测试案例也变得更加容易。由于Apple在推出Speedometer 2.0的时候,诸如原生Promises、async/await、类别和模组等网页功能都还未广泛可用,因此开发团队也趁著Speedometer 3.0,将测试程式的程式码进行技术升级。
Speedometer 3.0是一个网络平台标准的里程碑,其提供了一个新标准,来衡量网络浏览器的效能,并成为浏览器开发者最佳化引擎的目标。由于Speedometer是反映真实世界网络使用的情况,而这个基准测试也会随着时间变化,开发团队承诺会持续更新Speedometer,确保Speedometer能够维持对网络开发实作的相关性和准确性。
https://www.ithome.com.tw/news/161724
前两天就已经放上测试基准网站。可以自己去测试看看
https://browserbench.org/Speedometer3.0/
测试的时间大约2~5分钟。不过各大浏览器测试大多都在5~1x分左右
FF(Nightly)
https://i.imgur.com/BrpxrEZ.png
Edge
https://i.imgur.com/AbLbWGX.png
Safari
https://i.imgur.com/wqrhesE.png