2022-10-04 Triage Log

A great week, with 170 primary benchmark scenarios seeing improvement. Every PR flagged by perf provided at least some wins, and perhaps more impressive: No rollup PR's were flagged by perf this week! Furthermore, cjgillot fixed an issue where incremental compilation was being unnecessarily hindered by our span and lint system. Great work everyone!

Triage done by @pnkfelix. Revision range: d9297d22..02cd79af

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
1.2%[0.4%, 1.9%]2
Regressions ❌
(secondary)
0.5%[0.4%, 0.6%]6
Improvements ✅
(primary)
-2.4%[-31.0%, -0.2%]170
Improvements ✅
(secondary)
-1.5%[-5.8%, -0.3%]159
All ❌✅ (primary)-2.4%[-31.0%, 1.9%]172

0 Regressions, 2 Improvements, 7 Mixed; 0 of them in rollups 54 artifact comparisons made in total

Regressions

Improvements

More lexer improvements #102302 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.2%[2.2%, 2.2%]1
Improvements ✅
(primary)
-0.5%[-1.0%, -0.2%]80
Improvements ✅
(secondary)
-0.8%[-1.8%, -0.3%]75
All ❌✅ (primary)-0.5%[-1.0%, -0.2%]80

Inline a few functions. #102387 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-1.0%, -0.2%]60
Improvements ✅
(secondary)
-0.8%[-2.3%, -0.3%]42
All ❌✅ (primary)-0.4%[-1.0%, -0.2%]60

Mixed

Rewrite and refactor format_args!() builtin macro. #100996 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.5%[1.1%, 2.0%]6
Improvements ✅
(primary)
-0.3%[-0.7%, -0.2%]7
Improvements ✅
(secondary)
-1.2%[-1.5%, -0.6%]7
All ❌✅ (primary)-0.3%[-0.7%, -0.2%]7

rustdoc: Remove clean::TraitWithExtraInfo and queryify is_notable_trait #102384 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.3%[0.3%, 0.3%]1
Regressions ❌
(secondary)
2.7%[2.7%, 2.7%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-1.4%[-1.7%, -1.2%]12
All ❌✅ (primary)0.3%[0.3%, 0.3%]1

Fix perf regression from TypeVisitor changes #101893 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.4%[1.2%, 1.6%]6
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-1.3%[-2.9%, -0.5%]9
All ❌✅ (primary)--0

Shrink hir::def::Res #101887 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.2%[0.6%, 1.6%]7
Improvements ✅
(primary)
-0.2%[-0.3%, -0.2%]5
Improvements ✅
(secondary)
-0.3%[-0.4%, -0.3%]2
All ❌✅ (primary)-0.2%[-0.3%, -0.2%]5

Move lint level source explanation to the bottom #101986 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.0%[0.9%, 1.0%]2
Improvements ✅
(primary)
-0.3%[-0.3%, -0.2%]3
Improvements ✅
(secondary)
-0.9%[-1.4%, -0.3%]8
All ❌✅ (primary)-0.3%[-0.3%, -0.2%]3

Compute lint levels by definition #102236 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.6%[0.3%, 0.9%]14
Regressions ❌
(secondary)
1.0%[0.2%, 2.0%]20
Improvements ✅
(primary)
-3.2%[-30.2%, -0.2%]84
Improvements ✅
(secondary)
-1.1%[-2.8%, -0.3%]52
All ❌✅ (primary)-2.7%[-30.2%, 0.9%]98
  • based on reading of #101620, this was an important step for making incremental compilation apply to a much broader set of input code.
  • the performance gains reported by perf seem well worth the cost that it registered.
  • marked as triaged.

Mark Cell::replace() as #[inline] #102548 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.9%[0.4%, 1.8%]3
Regressions ❌
(secondary)
0.9%[0.2%, 1.3%]10
Improvements ✅
(primary)
-0.3%[-1.2%, -0.2%]14
Improvements ✅
(secondary)
-0.4%[-1.9%, -0.2%]12
All ❌✅ (primary)-0.1%[-1.2%, 1.8%]17
  • PR had intermediate perf run reported stats that are somewhat better than what we actually ended up with in the end.
  • did not mark as triaged; pinged a reviewer to confirm that this still meets acceptable criteria from their POV.

Untriaged Pull Requests