perf(ci): add focused benchmark commands#216
Open
marcus-pousette wants to merge 1 commit into
Open
Conversation
Contributor
BenchmarksTriggered by
Status: ✅ <5% change | 🟡 5–10% | 🟠 10–30% | 🔴 >30% Artifacts:
|
marcus-pousette
force-pushed
the
perf/benchmark-focused-commands
branch
2 times, most recently
from
July 13, 2026 10:16
2e83cb2 to
be736f1
Compare
Antonov548
approved these changes
Jul 13, 2026
marcus-pousette
force-pushed
the
perf/benchmark-focused-commands
branch
from
July 13, 2026 16:22
be736f1 to
1b34e70
Compare
Collaborator
Author
|
/bench |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
The exhaustive benchmark workflow takes about 57 minutes. That is useful before a performance-sensitive merge, but too expensive for routine PR feedback.
Most of the time is real benchmark coverage rather than a second benchmark framework: the workflow orchestrates the existing web, native SQLite, direct-sync, Wasm, and Rust-core runners. This PR adds a focused mode that samples those same implementations at representative sizes.
Commands
/benchor/bench quick— focused cross-runtime signal (27 result rows)/bench web— the existing full browser suite, including browser sync/bench full— the existing exhaustive cross-runtime suiteManual workflow runs expose the same
quick,web, andfullchoices, withquickas the default.What quick keeps
The browser-specific sync matrix remains in
/bench web. This avoids making old base/head revisions use different browser instrumentation while keeping a fast sync signal through the existing native direct-sync runner.Other cleanup
The focused suite is not a replacement for
/bench full; it is the routine feedback path.Measured impact
The exhaustive run took 56m47s. The validated focused run took 16m42s, a roughly 71% wall-time reduction.
Focused-run breakdown:
Build/setup is now the largest remaining fixed cost. The companion iteration fix in #215 removes additional hidden native oversampling.
Validation
git diff --checkMerged correctness/performance fix: #215. Its benchmark regression tests remain in the native test command after the rebase.