Mozperftest
Mozperftest can be used to run performance tests.
The following documents all testing we have for mozperftest. If the owner does not specify the Usage and Description, it’s marked N/A.
browser/base/content/test
Performance tests from the ‘browser/base/content/test’ folder.
perftest_browser_xhtml_dom.js
- owner:
Browser Front-end team
- name:
Dom-size
Measures the size of the DOM
dom/media/webcodecs/test/performance
Performance tests running through Mochitest for WebCodecs
test_encode_from_canvas.html
- owner:
Media Team
- name:
WebCodecs Video Encoding
- Default options:
--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
Test webcodecs video encoding performance
dom/serviceworkers/test/performance
Performance tests running through Mochitest for Service Workers
test_caching.html
- owner:
DOM LWS
- name:
Service Worker Caching
- Default options:
--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
Test service worker caching.
test_fetch.html
- owner:
DOM LWS
- name:
Service Worker Fetch
- Default options:
--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 cold and warm fetches.
test_registration.html
- owner:
DOM LWS
- name:
Service Worker Registration
- Default options:
--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 registration, activation, and unregistration.
test_update.html
- owner:
DOM LWS
- name:
Service Worker Update
- Default options:
--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
Test updating.
intl/benchmarks/test/xpcshell
Performance tests running through XPCShell for Intl code
perftest_dateTimeFormat.js
- owner:
Internationalization Team
- name:
Intl.DateTimeFormat
- tags:
intl,ecma402
- Default options:
--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
Test the speed of the Intl.DateTimeFormat implementation.
perftest_locale.js
- owner:
Internationalization Team
- name:
Intl.Locale
- tags:
intl,ecma402
- Default options:
--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
Test the speed of the Intl.Locale implementation.
perftest_numberFormat.js
- owner:
Internationalization Team
- name:
Intl.NumberFormat
- tags:
intl,ecma402
- Default options:
--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
Test the speed of the Intl.NumberFormat implementation.
perftest_pluralRules.js
- owner:
Internationalization Team
- name:
Intl.PluralRules
- tags:
intl,ecma402
- Default options:
--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
Test the speed of the Intl.PluralRules implementation.
netwerk/test/perf
Performance tests from the ‘network/test/perf’ folder.
perftest_http3_cloudflareblog.js
- owner:
Network Team
- name:
cloudflare
User-journey live site test for cloudflare blog.
perftest_http3_controlled.js
- owner:
Network Team
- name:
controlled
- tags:
throttlable
User-journey live site test for controlled server
perftest_http3_facebook_scroll.js
- owner:
Network Team
- name:
facebook-scroll
Measures the number of requests per second after a scroll.
perftest_http3_google_image.js
- owner:
Network Team
- name:
g-image
Measures the number of images per second after a scroll.
perftest_http3_google_search.js
- owner:
Network Team
- name:
g-search
User-journey live site test for google search
perftest_http3_lucasquicfetch.js
- owner:
Network Team
- name:
lq-fetch
Measures the amount of time it takes to load a set of images.
perftest_http3_youtube_watch.js
- owner:
Network Team
- name:
youtube-noscroll
Measures quality of the video being played.
perftest_http3_youtube_watch_scroll.js
- owner:
Network Team
- name:
youtube-scroll
Measures quality of the video being played.
netwerk/test/unit
Performance tests from the ‘netwerk/test/unit’ folder.
test_http3_perf.js
- owner:
Network Team
- name:
http3 raw
- tags:
network,http3,quic
- Default options:
--perfherder
--perfherder-metrics name:speed,unit:bps
--xpcshell-cycles 13
--verbose
--try-platform linux, mac
XPCShell tests that verifies the lib integration against a local server
testing/performance
Performance tests from the ‘testing/performance’ folder.
perftest_bbc_link.js
- owner:
Performance Team
- name:
BBC Link
Measures time to load BBC homepage
perftest_facebook.js
- owner:
Performance Team
- name:
Facebook
Measures time to log in to Facebook
perftest_jsconf_cold.js
- owner:
Performance Team
- name:
JSConf (cold)
Measures time to load JSConf page (cold)
perftest_jsconf_warm.js
- owner:
Performance Team
- name:
JSConf (warm)
Measures time to load JSConf page (warm)
perftest_politico_link.js
- owner:
Performance Team
- name:
Politico Link
Measures time to load Politico homepage
perftest_youtube_link.js
- owner:
Performance Team
- name:
YouTube Link
Measures time to load YouTube video
perftest_android_startup.js
- owner:
Performance Team
- name:
android-startup
Measures android startup times
This test consists of 2 main tests, cold main first frame(cmff) and cold view nav start(cvns). cold main first frame is the measurement from when you click the app icon & get duration to first frame from ‘am start -W’. cold view nav start is the measurement from when you send a VIEW intent & get duration from logcat: START proc to PageStart.
perftest_pageload.js
- owner:
Performance Team
- name:
pageload
Measures time to load mozilla page
perftest_perfstats.js
- owner:
Performance Team
- name:
perfstats
Collect perfstats for the given site
This test launches browsertime with the perfStats option (will collect low-overhead timings, see Bug 1553254). The test currently runs a short user journey. A selection of popular sites are visited, first as cold pageloads, and then as warm.
perftest_WPT_chrome_init_file.js
- owner:
Performance Testing Team
- name:
webpagetest-chrome
Run webpagetest performance pageload tests on Chrome against Alexa top 50 websites
This mozperftest gets webpagetest to run pageload tests on Chrome against the 50 most popular websites and provide data. The full list of data returned from webpagetest: firstContentfulPaint, visualComplete90, firstPaint, visualComplete99, visualComplete, SpeedIndex, bytesIn,bytesOut, TTFB, fullyLoadedCPUms, fullyLoadedCPUpct, domElements, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd
perftest_WPT_firefox_init_file.js
- owner:
Performance Testing Team
- name:
webpagetest-firefox
Run webpagetest performance pageload tests on Firefox against Alexa top 50 websites
This mozperftest gets webpagetest to run pageload tests on Firefox against the 50 most popular websites and provide data. The full list of data returned from webpagetest: firstContentfulPaint, timeToContentfulPaint, visualComplete90, firstPaint, visualComplete99, visualComplete, SpeedIndex, bytesIn, bytesOut, TTFB, fullyLoadedCPUms, fullyLoadedCPUpct, domElements, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd
toolkit/components/ml/tests/browser
Performance tests running through Mochitest for ML Models
browser_ml_autofill_perf.js
- owner:
GenAI Team
- name:
ML Autofill Model
- Default options:
--perfherder
--perfherder-metrics name:AUTOFILL-pipeline-ready-latency,unit:ms,shouldAlert:True, name:AUTOFILL-initialization-latency,unit:ms,shouldAlert:True, name:AUTOFILL-model-run-latency,unit:ms,shouldAlert:True, name:AUTOFILL-total-memory-usage,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Template test for latency for ML Autofill model
browser_ml_suggest_feature_perf.js
- owner:
GenAI Team
- name:
ML Suggest Feature
- Default options:
--perfherder
--perfherder-metrics name:latency,unit:ms,shouldAlert:True, name:memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Template test for latency for ML suggest Feature
browser_ml_suggest_inference.js
- owner:
GenAI Team
- name:
ML Suggest Inference Model
- Default options:
--perfherder
--perfherder-metrics name:inference-pipeline-ready-latency,unit:ms,shouldAlert:True, name:inference-initialization-latency,unit:ms,shouldAlert:True, name:inference-model-run-latency,unit:ms,shouldAlert:True, name:inference-total-memory-usage,unit:ms,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Template test for ML suggest Inference Model
browser_ml_summarizer_perf.js
- owner:
GenAI Team
- name:
ML Summarizer Model
- Default options:
--perfherder
--perfherder-metrics name:latency,unit:ms,shouldAlert:True, name:memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Template test for latency for Summarizer model
browser_ml_engine_perf.js
- owner:
GenAI Team
- name:
ML Test Model
- Default options:
--perfherder
--perfherder-metrics name:latency,unit:ms,shouldAlert:True, name:memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Template test for latency for ml models
browser_ml_engine_multi_perf.js
- owner:
GenAI Team
- name:
ML Test Multi Model
- Default options:
--perfherder
--perfherder-metrics name:latency,unit:ms,shouldAlert:True, name:memory,unit:MB,shouldAlert:True
--verbose
--manifest perftest.toml
--manifest-flavor browser-chrome
--try-platform linux, mac, win
Testing model execution concurrenty
If you have any questions, please see this wiki page.