Introduce emulation of CPU throttling to benchmark-web-vitals #59
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduces a new
-t
/--throttle-cpu
option to thebenchmark-web-vitals
command that allows you to supply a factor for emulating CPU throttling. This factor argument is passed to Puppeteer'sPage.emulateCPUThrottling()
API.Cheers to @swissspidy for alerting me to the Puppeteer API for this.
This PR also improves parsing of command line options into parameters, enduring strict typing.
I was surprised to find that increasing the throttling results in a reduction in the savings of LCP-TTFB in v6.3-RC2 vs v6.2.
WordPress 6.2 vs 6.3-RC2 without CPU Throttling
WordPress 6.2:
WordPress 6.3-RC2:
👉 48% reduction in LCP-TTFB
WordPress 6.2 vs 6.3-RC2 with 4x CPU Throttling
WordPress 6.2:
WordPress 6.3-RC2:
👉 42% reduction in LCP-TTFB
WordPress 6.2 vs 6.3-RC2 with 8x CPU Throttling
WordPress 6.2:
WordPress 6.3-RC2:
👉 27% reduction in LCP-TTFB