Mozperftest

**Mozperftest** 可用于运行性能测试。

以下文档列出了我们为 mozperftest 进行的所有测试。如果所有者未指定用法和说明,则标记为 N/A。

browser/base/content/test

来自“browser/base/content/test”文件夹的性能测试。

perftest_browser_xhtml_dom.js

所有者:

浏览器前端团队

名称:

Dom-size

测量 DOM 的大小

dom/media/webcodecs/test/performance

通过 Mochitest 运行 WebCodecs 的性能测试

test_encode_from_canvas.html

所有者:

媒体团队

名称:

WebCodecs 视频编码

默认选项:

--perfherder
--perfherder-metrics name:realtime - frame-to-frame mean (key),unit:ms,shouldAlert:True, name:realtime - frame-to-frame stddev (key),unit:ms,shouldAlert:True, name:realtime - frame-dropping rate (key),unit:ratio,shouldAlert:True, name:realtime - frame-to-frame mean (non key),unit:ms,shouldAlert:True, name:realtime - frame-to-frame stddev (non key),unit:ms,shouldAlert:True, name:realtime - frame-dropping rate (non key),unit:ratio,shouldAlert:True, name:quality - first encode to last output,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor plain

测试 webcodecs 视频编码性能

dom/serviceworkers/test/performance

通过 Mochitest 运行 Service Workers 的性能测试

test_caching.html

所有者:

DOM LWS

名称:

Service Worker 缓存

默认选项:

--perfherder
--perfherder-metrics name:No cache,unit:ms,shouldAlert:True, name:Cached,unit:ms,shouldAlert:True, name:No cache again,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor plain

测试 Service Worker 缓存。

test_fetch.html

所有者:

DOM LWS

名称:

Service Worker 获取

默认选项:

--perfherder
--perfherder-metrics name:Cold fetch,unit:ms,shouldAlert:True, name:Undisturbed fetch,unit:ms,shouldAlert:True, name:Intercepted fetch,unit:ms,shouldAlert:True, name:Liberated fetch,unit:ms,shouldAlert:True, name:Undisturbed XHR,unit:ms,shouldAlert:True, name:Intercepted XHR,unit:ms,shouldAlert:True, name:Liberated XHR,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor plain

测试冷启动和热启动获取。

test_registration.html

所有者:

DOM LWS

名称:

Service Worker 注册

默认选项:

--perfherder
--perfherder-metrics name:Registration,unit:ms,shouldAlert:True, name:Registration Internals,unit:ms,shouldAlert:True, name:Activation,unit:ms,shouldAlert:True, name:Unregistration,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor plain

测试注册、激活和取消注册。

test_update.html

所有者:

DOM LWS

名称:

Service Worker 更新

默认选项:

--perfherder
--perfherder-metrics name:Vacuous update,unit:ms,shouldAlert:True, name:Server update,unit:ms,shouldAlert:True, name:Main callback,unit:ms,shouldAlert:True, name:SW callback,unit:ms,shouldAlert:True, name:Update internals,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor plain

测试更新。

intl/benchmarks/test/xpcshell

通过 XPCShell 运行 Intl 代码的性能测试

perftest_dateTimeFormat.js

所有者:

国际化团队

名称:

Intl.DateTimeFormat

标签:

intl,ecma402

默认选项:

--perfherder
--perfherder-metrics name:Intl.DateTimeFormat constructor iterations,unit:iterations, name:Intl.DateTimeFormat constructor accumulatedTime,unit:ms, name:Intl.DateTimeFormat constructor perCallTime,unit:ms, name:Intl.DateTimeFormat.prototype.format iterations,unit:iterations, name:Intl.DateTimeFormat.prototype.format accumulatedTime,unit:ms, name:Intl.DateTimeFormat.prototype.format perCallTime,unit:ms
--verbose

测试 Intl.DateTimeFormat 实现的速度。

perftest_locale.js

所有者:

国际化团队

名称:

Intl.Locale

标签:

intl,ecma402

默认选项:

--perfherder
--perfherder-metrics name:Intl.Locale constructor iterations,unit:iterations, name:Intl.Locale constructor accumulatedTime,unit:ms, name:Intl.Locale constructor perCallTime,unit:ms, name:Intl.Locale.prototype accessors iterations,unit:iterations, name:Intl.Locale.prototype accessors accumulatedTime,unit:ms, name:Intl.Locale.prototype accessors perCallTime,unit:ms, name:Intl.Locale.maximize operation iterations,unit:iterations, name:Intl.Locale.maximize operation accumulatedTime,unit:ms, name:Intl.Locale.maximize operation perCallTime,unit:ms
--verbose

测试 Intl.Locale 实现的速度。

perftest_numberFormat.js

所有者:

国际化团队

名称:

Intl.NumberFormat

标签:

intl,ecma402

默认选项:

--perfherder
--perfherder-metrics name:Intl.NumberFormat constructor iterations,unit:iterations, name:Intl.NumberFormat constructor accumulatedTime,unit:ms, name:Intl.NumberFormat constructor perCallTime,unit:ms, name:Intl.NumberFormat.prototype.format iterations,unit:iterations, name:Intl.NumberFormat.prototype.format accumulatedTime,unit:ms, name:Intl.NumberFormat.prototype.format perCallTime,unit:ms, name:Intl.NumberFormat.prototype.formatToParts iterations,unit:iterations, name:Intl.NumberFormat.prototype.formatToParts accumulatedTime,unit:ms, name:Intl.NumberFormat.prototype.formatToParts perCallTime,unit:ms
--verbose

测试 Intl.NumberFormat 实现的速度。

perftest_pluralRules.js

所有者:

国际化团队

名称:

Intl.PluralRules

标签:

intl,ecma402

默认选项:

--perfherder
--perfherder-metrics name:Intl.PluralRules constructor iterations,unit:iterations, name:Intl.PluralRules constructor accumulatedTime,unit:ms, name:Intl.PluralRules constructor perCallTime,unit:ms, name:Intl.PluralRules.prototype.select iterations,unit:iterations, name:Intl.PluralRules.prototype.select accumulatedTime,unit:ms, name:Intl.PluralRules.prototype.select perCallTime,unit:ms, name:Intl.PluralRules pluralCategories iterations,unit:iterations, name:Intl.PluralRules pluralCategories accumulatedTime,unit:ms, name:Intl.PluralRules pluralCategories perCallTime,unit:ms
--verbose

测试 Intl.PluralRules 实现的速度。

netwerk/test/perf

来自“network/test/perf”文件夹的性能测试。

perftest_http3_cloudflareblog.js

所有者:

网络团队

名称:

cloudflare

Cloudflare 博客的用户旅程现场测试。

perftest_http3_controlled.js

所有者:

网络团队

名称:

受控

标签:

可限流

受控服务器的用户旅程现场测试

perftest_http3_facebook_scroll.js

所有者:

网络团队

名称:

facebook-scroll

测量滚动后每秒的请求数。

perftest_http3_google_image.js

所有者:

网络团队

名称:

g-image

测量滚动后每秒的图像数。

perftest_http3_google_search.js

所有者:

网络团队

名称:

g-search

Google 搜索的用户旅程现场测试

perftest_http3_lucasquicfetch.js

所有者:

网络团队

名称:

lq-fetch

测量加载一组图像所需的时间。

perftest_http3_youtube_watch.js

所有者:

网络团队

名称:

youtube-noscroll

测量正在播放的视频质量。

perftest_http3_youtube_watch_scroll.js

所有者:

网络团队

名称:

youtube-scroll

测量正在播放的视频质量。

netwerk/test/unit

来自“netwerk/test/unit”文件夹的性能测试。

test_http3_perf.js

所有者:

网络团队

名称:

http3 raw

标签:

network,http3,quic

默认选项:

--perfherder
--perfherder-metrics name:speed,unit:bps
--xpcshell-cycles 13
--verbose
--try-platform linux, mac

验证 lib 与本地服务器集成的 XPCShell 测试

testing/performance

来自“testing/performance”文件夹的性能测试。

perftest_facebook.js

所有者:

性能团队

名称:

Facebook

测量登录 Facebook 的时间

perftest_jsconf_cold.js

所有者:

性能团队

名称:

JSConf(冷启动)

测量加载 JSConf 页面(冷启动)的时间

perftest_jsconf_warm.js

所有者:

性能团队

名称:

JSConf(热启动)

测量加载 JSConf 页面(热启动)的时间

perftest_android_startup.js

所有者:

性能团队

名称:

android-startup

测量 Android 启动时间

此测试包含两个主要测试,冷启动主框架 (cmff) 和冷启动视图导航开始 (cvns)。冷启动主框架是从点击应用程序图标到“am start -W”获取第一帧的持续时间。冷启动视图导航开始是从发送 VIEW 意图到 logcat 中获取“START proc”到“PageStart”的持续时间。

perftest_pageload.js

所有者:

性能团队

名称:

pageload

测量加载 Mozilla 页面的时间

perftest_perfstats.js

所有者:

性能团队

名称:

perfstats

收集给定站点的 perfstats

此测试使用 perfStats 选项启动 Browsertime(将收集低开销计时,请参阅 Bug 1553254)。该测试目前运行一个简短的用户旅程。首先以冷启动页面加载的方式访问一些热门站点,然后以热启动的方式访问。

perftest_WPT_chrome_init_file.js

所有者:

性能测试团队

名称:

webpagetest-chrome

在 Chrome 上针对 Alexa 前 50 个网站运行 WebPageTest 性能页面加载测试

此 mozperftest 使 WebPageTest 能够在 Chrome 上针对 50 个最受欢迎的网站运行页面加载测试并提供数据。WebPageTest 返回的数据完整列表:firstContentfulPaint、visualComplete90、firstPaint、visualComplete99、visualComplete、SpeedIndex、bytesIn、bytesOut、TTFB、fullyLoadedCPUms、fullyLoadedCPUpct、domElements、domContentLoadedEventStart、domContentLoadedEventEnd、loadEventStart、loadEventEnd

perftest_WPT_firefox_init_file.js

所有者:

性能测试团队

名称:

webpagetest-firefox

在 Firefox 上针对 Alexa 前 50 个网站运行 WebPageTest 性能页面加载测试

此 mozperftest 使 WebPageTest 能够在 Firefox 上针对 50 个最受欢迎的网站运行页面加载测试并提供数据。WebPageTest 返回的数据完整列表:firstContentfulPaint、timeToContentfulPaint、visualComplete90、firstPaint、visualComplete99、visualComplete、SpeedIndex、bytesIn、bytesOut、TTFB、fullyLoadedCPUms、fullyLoadedCPUpct、domElements、domContentLoadedEventStart、domContentLoadedEventEnd、loadEventStart、loadEventEnd

toolkit/components/ml/tests/browser

通过 Mochitest 运行 ML 模型的性能测试

browser_ml_suggest_intent_perf.js

所有者:

GenAI 团队

名称:

ML 建议意图模型

默认选项:

--perfherder
--perfherder-metrics name:intent-pipeline-ready-latency,unit:ms,shouldAlert:True, name:intent-initialization-latency,unit:ms,shouldAlert:True, name:intent-model-run-latency,unit:ms,shouldAlert:True, name:intent-pipeline-ready-memory,unit:MB,shouldAlert:True, name:intent-initialization-memory,unit:MB,shouldAlert:True, name:intent-model-run-memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win

ML 建议意图模型延迟的模板测试

browser_ml_suggest_ner_perf.js

所有者:

GenAI 团队

名称:

ML 建议 NER 模型

默认选项:

--perfherder
--perfherder-metrics name:NER-pipeline-ready-latency,unit:ms,shouldAlert:True, name:NER-initialization-latency,unit:ms,shouldAlert:True, name:NER-model-run-latency,unit:ms,shouldAlert:True, name:NER-pipeline-ready-memory,unit:MB,shouldAlert:True, name:NER-initialization-memory,unit:MB,shouldAlert:True, name:NER-model-run-memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win

ML 建议 NER 模型延迟的模板测试

browser_ml_engine_perf.js

所有者:

GenAI 团队

名称:

ML 测试模型

默认选项:

--perfherder
--perfherder-metrics name:pipeline-ready-latency,unit:ms,shouldAlert:True, name:initialization-latency,unit:ms,shouldAlert:True, name:model-run-latency,unit:ms,shouldAlert:True, name:pipeline-ready-memory,unit:MB,shouldAlert:True, name:initialization-memory,unit:MB,shouldAlert:True, name:model-run-memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win

ML 模型延迟的模板测试

如有任何疑问,请参阅此 wiki 页面