Uh oh!
There was an error while loading. Please reload this page.
Filter out SPMI metric diffs smaller than ±0.001% - #125684
Conversation
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
Add a significance threshold to write_metricdiff_markdown_summary so that metric diffs are only reported when the percentage change is at least 0.01%. This prevents noise from expected variance when there are no actual code diffs. Co-authored-by: EgorBo <523221+EgorBo@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: EgorBo <523221+EgorBo@users.noreply.github.com>
EgorBo
commented
Mar 17, 2026
@copilot please make a dummy change in jit to trigger the spmi pipeline |
Co-authored-by: EgorBo <523221+EgorBo@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR aims to reduce noise in SuperPMI “metricdiff” markdown reporting by suppressing insignificant metric changes that are due to tiny numeric variance rather than real codegen differences.
Changes:
- Updated
write_metricdiff_markdown_summaryto filter metric diffs using a percent-change threshold instead of a raw!=comparison.
Uh oh!
There was an error while loading. Please reload this page.
EgorBo
commented
Mar 19, 2026
@jakobbotsch PTAL. copilot has an idea how to fix the variance - it blames SPMI itself, the fact that it re-uses CompilationResult, but I don't like its fix yet, so I think having a threshold won't hurt. |
EgorBo
commented
Mar 19, 2026
/ba-g deadletter + #125757 |
Description
SPMI metric diff reporting shows noise as changes even when there are no actual code diffs. The
write_metricdiff_markdown_summaryfunction used a bare!=equality check, so any tiny numeric variance was reported as significant.Inlined an
abs(compute_pct(...)) >= 0.01threshold check directly in the list comprehension filter insuperpmi.pyto suppress metric diffs below ±0.01%. This is consistent with the existingis_significant_pctthreshold pattern already used inwrite_tpdiff_markdown_summary.A dummy comment change was also added to
src/coreclr/jit/compiler.cppto trigger the SPMI pipeline and validate the fix.Original prompt
💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.