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) | mean | range | count |
---|---|---|---|
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
rustdoc: Add lint redundant_explicit_links
#113167 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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).
Speed up compilation of type-system-chess
#114611 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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 |
Remove references in VarDebugInfo #114904 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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.