2023-08-29 Triage Log

A fairly quiet week, with improvements exceeding a small scattering of regressions. Memory usage and artifact size held fairly steady across the week, with no regressions or improvements.

Triage done by @simulacrum. Revision range: d4a881e1433cd10e424843353e1f939f5a798f4e..cedbe5c715c1fa9359683c5f108bed2054ac258b

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
1.6%[0.3%, 2.2%]6
Regressions ❌
(secondary)
1.4%[0.8%, 1.9%]19
Improvements ✅
(primary)
-1.0%[-8.0%, -0.3%]70
Improvements ✅
(secondary)
-1.6%[-4.2%, -0.2%]56
All ❌✅ (primary)-0.8%[-8.0%, 2.2%]76

2 Regressions, 3 Improvements, 2 Mixed; 0 of them in rollups 108 artifact comparisons made in total

Regressions

rustdoc: Add lint redundant_explicit_links #113167 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.4%, 0.9%]7
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.7%[0.4%, 0.9%]7

Small regression in libc compilation, primarily incremental non-doc scenarios. Unclear cause but sufficiently limited in scope that further investigation is not warranted.

Fix races conditions with SyntaxContext decoding #115082 (Comparison Link)

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

Some small regressions, but this is a correctness fix for parallel compilation so warranted. (Parallel compilation is not on here but the fix affects both non-parallel and parallel scenarios).

Improvements

Speed up compilation of type-system-chess #114611 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-1.7%[-1.7%, -1.7%]1
Improvements ✅
(secondary)
-2.2%[-4.2%, -0.7%]28
All ❌✅ (primary)-1.7%[-1.7%, -1.7%]1

Perf results look good, various small improvements in secondary benchmarks. The real driver was the type-system-chess program I mentioned above, where the walltime and max-rss changes were both about -85% when I measured them locally.

(https://github.com/rust-lang/rust/pull/114611#issuecomment-1670713067)

Add MIR validation for unwind out from nounwind functions + fixes to make validation pass #113124 (Comparison Link)

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

Update x64 Linux host compiler to LLVM 17 #114297 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.6%[-1.0%, -0.2%]41
Improvements ✅
(secondary)
-0.9%[-1.5%, -0.2%]22
All ❌✅ (primary)-0.6%[-1.0%, -0.2%]41

Mixed

Remove references in VarDebugInfo #114904 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.8%[0.3%, 1.3%]10
Regressions ❌
(secondary)
1.4%[1.3%, 1.4%]4
Improvements ✅
(primary)
-1.0%[-7.3%, -0.3%]32
Improvements ✅
(secondary)
-2.1%[-2.4%, -1.6%]4
All ❌✅ (primary)-0.6%[-7.3%, 1.3%]42

Fixed a bug in codegen. The regressions appear to be within noise range for the relevant benchmarks.

Add a new helper to avoid calling io::Error::kind #115228 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.3%[0.3%, 0.3%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.6%[-0.8%, -0.5%]3
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-0.4%[-0.8%, 0.3%]4

Regression is within noise range of the relevant benchmark.