2024-04-23 Triage Log

A week dominated by small mixed changes to perf with improvements slightly outweighing regressions. There were no pure regressions, and many of the mixed perf results were deemed worth it for their potential improvements to runtime performance through further optimization from LLVM.

Triage done by @rylev. Revision range: ccfcd950..a77f76e2

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.2%, 1.8%]57
Regressions ❌
(secondary)
0.4%[0.2%, 1.9%]26
Improvements ✅
(primary)
-0.8%[-3.4%, -0.2%]50
Improvements ✅
(secondary)
-0.6%[-1.9%, -0.1%]32
All ❌✅ (primary)-0.2%[-3.4%, 1.8%]107

0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups 62 artifact comparisons made in total

Regressions

Improvements

Simplify shallow resolver to just fold ty/consts #123537 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.3%[0.3%, 0.3%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.9%[-1.4%, -0.2%]8
Improvements ✅
(secondary)
-0.3%[-0.4%, -0.2%]11
All ❌✅ (primary)-0.8%[-1.4%, 0.3%]9

rustdoc-search: single result for items with multiple paths #119912 (Comparison Link)

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

interpret: use ScalarInt for bin-ops; avoid PartialOrd for ScalarInt #124113 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.3%[-0.4%, -0.2%]4
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-0.3%[-0.4%, -0.2%]4

PatRangeBoundary::compare_with: als add a fast-path for signed integers #124190 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-3.3%[-3.3%, -3.3%]1
All ❌✅ (primary)--0

Rollup of 7 pull requests #124271 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.5%[0.5%, 0.5%]1
Improvements ✅
(primary)
-0.2%[-0.2%, -0.2%]1
Improvements ✅
(secondary)
-0.9%[-2.1%, -0.4%]9
All ❌✅ (primary)-0.2%[-0.2%, -0.2%]1

Mixed

Implement syntax for impl Trait to specify its captures explicitly (feature(precise_capturing)) #123468 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.2%[0.2%, 0.2%]4
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.8%[-0.8%, -0.8%]1
All ❌✅ (primary)0.2%[0.2%, 0.2%]4
  • Very small regression on a stress test

At debuginfo=0, don't inline debuginfo when inlining #123949 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
1.0%[0.3%, 1.8%]5
Regressions ❌
(secondary)
1.0%[0.2%, 3.4%]4
Improvements ✅
(primary)
-0.9%[-2.4%, -0.1%]22
Improvements ✅
(secondary)
-1.2%[-1.8%, -0.2%]10
All ❌✅ (primary)-0.6%[-2.4%, 1.8%]27
  • Improvements outweighed the regressions and was deemed worth it by the reviewer.

Always display stability version even if it's the same as the containing item #118441 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.3%[0.2%, 0.3%]2
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.2%[-0.2%, -0.2%]1
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.1%[-0.2%, 0.3%]3
  • Noise that is reversed in the next run.

Tell LLVM Vec::len is invariant across growth #123930 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.1%, 1.6%]7
Regressions ❌
(secondary)
0.3%[0.2%, 0.5%]11
Improvements ✅
(primary)
-0.5%[-0.9%, -0.4%]8
Improvements ✅
(secondary)
-0.2%[-0.2%, -0.1%]3
All ❌✅ (primary)-0.1%[-0.9%, 1.6%]15
  • The regressions come from LLVM, and it was deemed worth it given the possibility for LLVM to perform more optimization.

fix normalizing in different ParamEnvs with the same InferCtxt #124203 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
4.1%[4.1%, 4.1%]1
Improvements ✅
(primary)
-0.7%[-2.4%, -0.2%]9
Improvements ✅
(secondary)
-0.9%[-0.9%, -0.9%]1
All ❌✅ (primary)-0.7%[-2.4%, -0.2%]9
  • Noise

Rollup of 5 pull requests #124241 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.2%, 1.6%]7
Regressions ❌
(secondary)
0.3%[0.3%, 0.3%]1
Improvements ✅
(primary)
-0.9%[-2.8%, -0.3%]7
Improvements ✅
(secondary)
-3.9%[-3.9%, -3.9%]1
All ❌✅ (primary)-0.1%[-2.8%, 1.6%]14
  • More time spent in LLVM previously
  • Pinged the author and reviewer for their perspective.