Skip to content

Latest commit

 

History

History
347 lines (261 loc) · 22.9 KB

2024-12-23.md

File metadata and controls

347 lines (261 loc) · 22.9 KB

2024-12-23 Triage Log

We missed triage last week due to some process issues, so this triage includes two weeks of data. The overall result is positive, due to parser optimizations (#133793), trait solving optimizations (#134501, #132325) and bumping the cc crate (#134505), which improved the performance of C/C++ dependencies of the compiler.

Triage done by @kobzol. Revision range: 1b3fb316..0eca4dd3

Summary:

(instructions:u) mean range count
Regressions ❌
(primary)
0.5% [0.3%, 0.8%] 3
Regressions ❌
(secondary)
1.0% [1.0%, 1.0%] 1
Improvements ✅
(primary)
-1.8% [-7.5%, -0.3%] 254
Improvements ✅
(secondary)
-1.3% [-5.4%, -0.3%] 224
All ❌✅ (primary) -1.8% [-7.5%, 0.8%] 257

4 Regressions, 10 Improvements, 12 Mixed; 9 of them in rollups 90 artifact comparisons made in total

Regressions

Rollup of 6 pull requests #134296 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.2%, 0.4%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.2%, 0.4%] 7
  • The regressions were caused by #134081.
  • It was not deemed worthy to fix them, because of added maintenance burden.
  • Marked as triaged.

Remove queries from the driver interface #134302 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.1%, 0.6%] 11
Regressions ❌
(secondary)
0.5% [0.2%, 0.7%] 18
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.1%, 0.6%] 11
  • A few tiny regressions in doc builds, caused by a cleanup of the compiler driver interface.
  • Marked as triaged.

Rollup of 8 pull requests #134582 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [0.2%, 0.2%] 6
  • Tiny regression on a single benchmark, I don't think that it's worthy to investigate further.
  • Marked as triaged.

Asserts the maximum value that can be returned from Vec::len #131193 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.2%, 1.2%] 104
Regressions ❌
(secondary)
0.3% [0.1%, 0.8%] 38
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.2%, 1.2%] 104
  • The post-merge regression seems to be much larger than originally expected.
  • Asked the PR author about this.
  • Not marking as triaged yet.

Improvements

Rollup of 9 pull requests #134137 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.9% [-0.9%, -0.9%] 1

Rollup of 4 pull requests #134349 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.8%, -0.1%] 4
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 4
All ❌✅ (primary) -0.3% [-0.8%, -0.1%] 4

Rollup of 9 pull requests #134395 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.7%, -0.2%] 9
All ❌✅ (primary) - - 0

rework winnowing to sensibly handle global where-bounds #132325 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-1.0%, -0.2%] 64
Improvements ✅
(secondary)
-1.6% [-2.1%, -0.7%] 9
All ❌✅ (primary) -0.4% [-1.0%, -0.2%] 64

Try to fix perf regression in rustdoc after hir attributes #134376 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.6%, -0.2%] 10
Improvements ✅
(secondary)
-0.4% [-0.6%, -0.2%] 18
All ❌✅ (primary) -0.3% [-0.6%, -0.2%] 10

Speed up Parser::expected_tokens #133793 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-2.5%, -0.2%] 213
Improvements ✅
(secondary)
-0.8% [-2.5%, -0.1%] 105
All ❌✅ (primary) -0.9% [-2.5%, -0.2%] 213

Rollup of 5 pull requests #134559 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-1.4%, -0.1%] 17
Improvements ✅
(secondary)
-3.1% [-4.7%, -1.5%] 3
All ❌✅ (primary) -0.5% [-1.4%, -0.1%] 17

handle member constraints directly in the mir type checker #134501 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-0.5%, -0.2%] 65
Improvements ✅
(secondary)
-0.3% [-0.6%, -0.0%] 58
All ❌✅ (primary) -0.4% [-0.5%, -0.2%] 65

Bump compiler cc to 1.2.5 #134505 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-7.6%, -0.1%] 244
Improvements ✅
(secondary)
-0.7% [-1.4%, -0.1%] 196
All ❌✅ (primary) -0.7% [-7.6%, -0.1%] 244

cleanup TypeVerifier #134465 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.4%, -0.2%] 6
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.1%] 16
All ❌✅ (primary) -0.3% [-0.4%, -0.2%] 6

Mixed

Introduce MixedBitSet #133891 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.6% [0.2%, 1.0%] 8
Improvements ✅
(primary)
-0.6% [-1.3%, -0.2%] 67
Improvements ✅
(secondary)
-0.7% [-2.0%, -0.2%] 28
All ❌✅ (primary) -0.6% [-1.3%, -0.2%] 67
  • More improvements than regressions, especially on primary benchmarks.
  • Already marked as triaged.

Rollup of 10 pull requests #134108 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.2%, 0.8%] 9
Regressions ❌
(secondary)
0.3% [0.2%, 0.3%] 7
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.7%, -0.2%] 6
All ❌✅ (primary) 0.3% [0.2%, 0.8%] 9
  • Perf. runs for the most suspect PRs in the rollup haven't shown anything, but the regression is tiny, so it does not seem to be worthy of further investigation.
  • Marked as triaged.

We don't need NonNull::as_ptr debuginfo #133899 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.6% [0.2%, 0.9%] 2
Regressions ❌
(secondary)
0.5% [0.2%, 1.1%] 4
Improvements ✅
(primary)
-0.9% [-2.1%, -0.3%] 34
Improvements ✅
(secondary)
-2.7% [-3.0%, -2.5%] 2
All ❌✅ (primary) -0.9% [-2.1%, 0.9%] 36
  • More improvements than regressions, and in particular very nice binary size wins.
  • Marked as triaged.

Switch inline(always) in core/src/fmt/rt.rs to plain inline #134047 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
-0.4% [-0.5%, -0.3%] 6
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-0.5%, -0.3%] 6
  • More improvements than regressions.
  • Marked as triaged.

Move impl constness into impl trait header #134122 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.8% [0.8%, 0.8%] 1
Regressions ❌
(secondary)
1.7% [1.6%, 1.9%] 6
Improvements ✅
(primary)
-0.3% [-1.1%, -0.1%] 59
Improvements ✅
(secondary)
-0.7% [-2.5%, -0.2%] 41
All ❌✅ (primary) -0.3% [-1.1%, 0.8%] 60
  • More improvements than regressions.
  • Marked as triaged.

Bounds-check with PtrMetadata instead of Len in MIR #133734 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.2%, 0.3%] 2
Improvements ✅
(primary)
-1.4% [-1.4%, -1.4%] 1
Improvements ✅
(secondary)
-0.6% [-0.8%, -0.4%] 6
All ❌✅ (primary) -1.4% [-1.4%, -1.4%] 1
  • Single tiny regression, otherwise tiny improvements.
  • Marked as triaged.

Remove support for specializing ToString outside the standard library #134258 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.2%, 0.5%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-0.4%, -0.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-0.4%, 0.5%] 4
  • Tiny regression that was deemed acceptable.
  • Marked as triaged.

Modifies the index instruction from gep [0 x %Type] to gep %Type #134117 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.1% [0.1%, 0.2%] 2
Regressions ❌
(secondary)
0.6% [0.2%, 1.1%] 17
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.3% [-1.4%, -1.2%] 4
All ❌✅ (primary) 0.1% [0.1%, 0.2%] 2
  • The post-merge perf. is very similar to the previous perf. runs, which were deemed acceptable during review.
  • Marked as triaged.

Hir attributes #131808 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.4% [0.2%, 1.1%] 9
Regressions ❌
(secondary)
0.4% [0.1%, 0.6%] 20
Improvements ✅
(primary)
-0.2% [-0.4%, -0.2%] 3
Improvements ✅
(secondary)
-0.3% [-0.7%, -0.2%] 5
All ❌✅ (primary) 0.3% [-0.4%, 1.1%] 12
  • The regression was fixed in #134376.
  • Marked as triaged.

Rollup of 11 pull requests #134470 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.2% [0.1%, 0.4%] 7
Improvements ✅
(primary)
-0.2% [-0.3%, -0.1%] 3
Improvements ✅
(secondary)
-0.5% [-0.5%, -0.3%] 5
All ❌✅ (primary) -0.2% [-0.3%, -0.1%] 3
  • Regressions seem to be balanced with improvements.
  • Marked as triaged.

Rollup of 8 pull requests #134492 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.4% [0.2%, 0.7%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 1
All ❌✅ (primary) 0.4% [0.2%, 0.7%] 10
  • The regressions seem to have blipped back soon after
  • Marked as triaged.

Delete Rvalue::Len 🎉 #134330 (Comparison Link)

(instructions:u) mean range count
Regressions ❌
(primary)
0.3% [0.3%, 0.4%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.8%, -0.2%] 7
Improvements ✅
(secondary)
-0.3% [-0.4%, -0.2%] 2
All ❌✅ (primary) -0.2% [-0.8%, 0.4%] 9
  • More improvements than regressions.
  • Marked as triaged.