Skip to content

Commit c7cce59

Browse files
authored
Merge pull request #1282 from rylev/limit-triage
Limit the inclusion of some artifact comparisons in triage
2 parents 3ba306e + 7d87a9b commit c7cce59

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

site/src/comparison.rs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,20 @@ async fn populate_report(
158158
(None, None) => return,
159159
};
160160

161-
let entry = report.entry(direction).or_default();
161+
let include_in_triage = match (primary.largest_change(), secondary.largest_change()) {
162+
(Some(c), _) if c.magnitude() >= Magnitude::Medium => true,
163+
(_, Some(c)) if c.magnitude() >= Magnitude::Medium => true,
164+
_ => {
165+
let primary_n = primary.num_changes();
166+
let secondary_n = secondary.num_changes();
167+
(primary_n * 2 + secondary_n) >= 6
168+
}
169+
};
162170

163-
entry.push(write_triage_summary(comparison, &primary, &secondary).await)
171+
if include_in_triage {
172+
let entry = report.entry(direction).or_default();
173+
entry.push(write_triage_summary(comparison, &primary, &secondary).await);
174+
}
164175
}
165176

166177
/// A summary of a given comparison
@@ -323,6 +334,14 @@ impl ComparisonSummary {
323334
.filter(|c| c.is_regression())
324335
}
325336

337+
fn num_changes(&self) -> usize {
338+
self.relevant_comparisons.len()
339+
}
340+
341+
fn largest_change(&self) -> Option<&TestResultComparison> {
342+
self.relevant_comparisons.first()
343+
}
344+
326345
fn largest_improvement(&self) -> Option<&TestResultComparison> {
327346
self.relevant_comparisons
328347
.iter()

triage/README.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ usage.
55

66
## Roster
77

8-
- ecstatic-morse
98
- Mark-Simulacrum
109
- rylev
1110
- pnkfelix
@@ -67,13 +66,7 @@ Understanding the comparison page:
6766
*Warning*: max rss is much more variable than instruction count. Recheck the "Absolute
6867
data" checkbox otherwise the noise becomes unmanageable.
6968

70-
- A change isn't significant unless one or more of the benchmarks changed by at
71-
least 1%.
72-
73-
#### Dealing with noise
74-
75-
Some benchmarks are noisy. Those that are known to be noisy typically have their results
76-
labeled as such with a `?`. These results can usually be dismissed if they are below 2.5% and are not accompanied by other regressions in other benchmarks.
69+
For help understanding how to interpret results, consult the [comparison analysis documentation](../docs/comparison-analysis.md).
7770

7871
## Action
7972

@@ -91,7 +84,7 @@ Difficult cases: the merge was a rollup of multiple PRs.
9184
- Look through the PRs and try to determine which was the cause. Often you
9285
can easily tell that one or more PRs could not have caused the change, e.g.
9386
because they made trivial changes, documentation-only changes, etc.
94-
- If there are still PRs left over, look at the 'detailed-query' page on perf.rlo: often, there is a single timing pass that improved significantly, and the name may give you a hint. You can find the page by expanding the dropdown for the build with the greatest change, then clicking on the percent change. Note that this does not work for `-doc` builds.
87+
- If there are still PRs left over, look at the 'detailed-query' page on perf.rlo: often, there is a single timing pass that improved significantly, and the name may give you a hint. You can find the page by expanding the dropdown for the build with the greatest change, then clicking on the percent change.
9588
- If you can't narrow it down to a single PR, in the rollup PR ask all the
9689
authors who might be responsible.
9790
- Once you have narrowed it down to a single PR, treat it like an easy case,

0 commit comments

Comments
 (0)