Skip to content

Add a new GroupedBenchmark that runs a series of benchmarks.#133

Merged
kmiller68 merged 4 commits into
WebKit:mainfrom
kmiller68:add-grouped-benchmark-for-sunspider
Aug 14, 2025
Merged

Add a new GroupedBenchmark that runs a series of benchmarks.#133
kmiller68 merged 4 commits into
WebKit:mainfrom
kmiller68:add-grouped-benchmark-for-sunspider

Conversation

@kmiller68
Copy link
Copy Markdown
Contributor

@kmiller68 kmiller68 commented Aug 13, 2025

Use this for all the SunSpider tests.

Grouped benchmarks just run each sub-benchmark in order then report those back. The score is the geomean of each sub-benchmarks analogous score e.g. the geomean of each sub-benchmark's First or Average scores. All the relevant prefetching is just forwarded to the sub-benchmarks

Only note is that subScores re-computes everything every time because it's called before the benchmark runs. Also, tags don't seem to work for the sub benchmarks. This didn't seem important enough to fix right now but we should maybe consider in the future.

@netlify
Copy link
Copy Markdown

netlify Bot commented Aug 13, 2025

Deploy Preview for webkit-jetstream-preview ready!

Name Link
🔨 Latest commit dbbea1a
🔍 Latest deploy log https://app.netlify.com/projects/webkit-jetstream-preview/deploys/689df70ff8766100084a0c72
😎 Deploy Preview https://deploy-preview-133--webkit-jetstream-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Comment thread JetStreamDriver.js Outdated
assert(benchmarks.length);
for (const benchmark of benchmarks) {
// FIXME: Tags don't work for grouped tests anyway but if they did then this would be weird and probably wrong.
assert(benchmark.plan.tags.indexOf("Default") === -1, `Grouped benchmark sub-benchmarks shouldn't have the "Default" tag`, benchmark.tags);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assert(benchmark.hasAnyTag("default"), ... would be a bit shorter

Use this for all the SunSpider tests.

WIP

Only note is that `subScores` re-computes everything
every time because it's called before the benchmark runs.
@kmiller68 kmiller68 force-pushed the add-grouped-benchmark-for-sunspider branch from 1239b20 to 7b54891 Compare August 14, 2025 14:23
@kmiller68
Copy link
Copy Markdown
Contributor Author

@iainireland Thoughts?

@iainireland
Copy link
Copy Markdown
Contributor

This seems like a reasonably clean way of accomplishing our goal. LGTM!

@kmiller68 kmiller68 merged commit bcfc372 into WebKit:main Aug 14, 2025
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants