Skip to content

fix(bench): filter Outside parity band to regressions only #191

Description

@polaz

Problem

CI bench output emits "Outside parity band" rows for both positive and negative shifts. Positive shifts mean we beat the donor (e.g. ratio < 1.0 = smaller output, or speed > donor) — these are wins, not regressions. They should not appear in the "outside band" alert channel.

Example bad output:

x86_64-gnu • scenario • stage:level • none • large-log-stream + stage=compress, level=level_10_lazy: 0.5054 (-49.46%) outside band

0.5054 = we are 49.46% smaller than donor on that compress scenario. This is a WIN, but the line reads as if it is a regression.

Scope

In the aggregator/report generator (likely .github/scripts/run-benchmarks.sh plus any post-processor that emits the "Outside parity band" lines), gate the alert channel on the SIGN of the delta:

  • Ratio axis: only flag rows where rust_ratio / ffi_ratio > 1.0 (we produced a larger output) — i.e. a real regression.
  • Speed axis: only flag rows where rust_speed < ffi_speed (we are slower).
  • Positive shifts in our favor should either be silent OR routed to a separate "Notable wins" channel — never under the "Outside parity band" header.

Acceptance criteria

  • No "Outside parity band" line is emitted for a row where the deviation is in our favor.
  • The aggregate count ("Outside parity band: N") only counts true regressions.
  • Existing regression detection still fires correctly for negative deltas.

Estimate

2h (script + sign check + smoke test on existing payload).

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumMedium priority — important improvementenhancementNew feature or requestperformancePerformance optimization

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions