2022-08-09 Triage Log

A pretty quiet week for performance. Unfortunately, by far the biggest change was a regression introduced by increasing the minimum libc version for linux-gnu targets. The exact reason for why this happened in this case is unclear, and it's not easy to investigate. Luckily, the average regression introduced by this change was 0.4% which is fairly small, and many of the larger regressions were limited to doc builds.

Triage done by @rylev. Revision range: 792bc5a0..cc4dd6fc

Summary:

meanmaxcount
Regressions ❌
(primary)
0.5%1.4%146
Regressions ❌
(secondary)
0.8%1.6%78
Improvements ✅
(primary)
N/AN/A0
Improvements ✅
(secondary)
-2.0%-4.0%9
All ❌✅ (primary)0.5%1.4%146

1 Regressions, 2 Improvements, 2 Mixed; 1 of them in rollups 42 artifact comparisons made in total

Regressions

Increase the minimum linux-gnu versions #95026 (Comparison Link)

meanmaxcount
Regressions ❌
(primary)
0.4%1.6%137
Regressions ❌
(secondary)
0.7%1.6%65
Improvements ✅
(primary)
N/AN/A0
Improvements ✅
(secondary)
-0.6%-0.6%2
All ❌✅ (primary)0.4%1.6%137
  • This is difficult to debug as there was no change to code in the project, just in how things are built.
  • Most of the larger regressions are in doc builds where we have slightly higher tolerance for performance issues.
  • This means the regressions are something we can probably live with.

Improvements

remove commit_unconditionally #99509 (Comparison Link)

meanmaxcount
Regressions ❌
(primary)
N/AN/A0
Regressions ❌
(secondary)
N/AN/A0
Improvements ✅
(primary)
-0.5%-1.0%8
Improvements ✅
(secondary)
-0.8%-0.8%1
All ❌✅ (primary)-0.5%-1.0%8

Rollup of 6 pull requests #100304 (Comparison Link)

meanmaxcount
Regressions ❌
(primary)
N/AN/A0
Regressions ❌
(secondary)
1.5%1.5%1
Improvements ✅
(primary)
N/AN/A0
Improvements ✅
(secondary)
-1.9%-4.0%13
All ❌✅ (primary)N/AN/A0

Mixed

Warn about dead tuple struct fields #95977 (Comparison Link)

meanmaxcount
Regressions ❌
(primary)
N/AN/A0
Regressions ❌
(secondary)
1.2%1.5%3
Improvements ✅
(primary)
N/AN/A0
Improvements ✅
(secondary)
-1.4%-1.6%6
All ❌✅ (primary)N/AN/A0
  • The regressions are only in secondary tests and are more or less a wash (tipping slightly towards more improvements)

Add option to mir::MutVisitor to not invalidate CFG. #100089 (Comparison Link)

meanmaxcount
Regressions ❌
(primary)
0.3%0.4%3
Regressions ❌
(secondary)
1.3%1.5%6
Improvements ✅
(primary)
N/AN/A0
Improvements ✅
(secondary)
-1.5%-1.5%1
All ❌✅ (primary)0.3%0.4%3
  • This is a small enough regression that I don't think we need to investigate it deeply.
  • It seems there‘s more calls in type unification, but I don’t see how this change would impact that.
  • Left a comment on the PR