You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Two new values for BenchRunCfg.regression_method: "delta" and "absolute". Each selects a dedicated detector and its threshold comes from a new BenchRunCfg field:
"delta" uses regression_delta: largest acceptable absolute-unit change of the current run's mean from the mean of all historical per-time means, respecting the result variable's OptDir. Useful when a percent threshold obscures sensitivity at tiny baselines or when CI wants a flat unit ceiling on drift.
"absolute" uses regression_absolute: hard directional threshold (ceiling for OptDir.minimize, floor for OptDir.maximize) against the current run's mean. No history required — fires on the very first recording.
detect_delta() and detect_absolute() public detectors in bencher.regression, mirroring the detect_percentage / detect_adaptive shape so they participate in the shared plot/report pipeline.
detect_regressions() now runs with a single over_time point when regression_method="absolute", so contractual limits can gate even the initial benchmark run.
Gallery examples example_regression_delta and example_regression_absolute demonstrating the new methods.
Changed
Regression diagnostic plot: when the adaptive detector produces both a MAD band and a percent band, they are now merged into a single combined acceptance band (the union of both — matching the adaptive gate, which flags a regression only when both tests fail). Previously the plot layered two separately-coloured bands.