Repository navigation
feat(xtest): compare benchmark candidates with each other - #659
Draft
dmihalcik-virtru wants to merge 1 commit into
Draft
dmihalcik-virtru wants to merge 1 commit into
dmihalcik-virtru wants to merge 1 commit into
Conversation
Stage 4 of the DSPX-4372-t1 plan. With more than one candidate, every pair of candidates is compared directly. These comparisons never gate. - perf/stats.py: FASTER/SLOWER/TIED verdicts in their own BH family. Each tail is tested at alpha/2, since neither candidate is privileged; TIED requires the interval inside the +/-threshold band. The rule is antisymmetric, so listing order does not change a conclusion. - perf/runner.py: candidate pairs follow the reference pairs; the control yields every copy-to-copy pair so its floor covers the widest spacing. - perf/conclusions.py (new): pairwise conclusions per cell and metric, and winner eligibility, decided once. A winner must be FASTER than every other candidate, and a tripped A/A control suppresses it however narrow the interval. Ties and unresolved competitors say so. - report JSON 'conclusions', a candidate-comparison section in the markdown, and the same conclusion lines on the terminal. Fixes the three defects review found in #621: the control-registration order (kept from stage 3), a winner named from the top two point estimates, and a tripped control that did not suppress the winner. Signed-off-by: Dave Mihalcik <dmihalcik@virtru.com>
This was referenced Oct 19, 2026
|
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.



Stage 4 of the six-stage plan. Stacked on #658.
What it does
When a run has more than one candidate, every pair of candidates is compared directly. These comparisons never fail the build.
perf/conclusions.pydecides winners once, and the JSON (conclusions), terminal and markdown all read that result. A winner must be FASTER than every other candidate, and a tripped A/A control suppresses the winner however narrow the interval. Ties and unresolved competitors say which pair blocked the winner.This fixes the remaining two #621 review findings: a winner named from the top two point estimates, and a tripped control not suppressing the winner.
Compatibility
contrasts, and there's a new top-levelconclusions.conclusionsis empty.Validation