Largely a win for compiler performance with 100 test cases in real-world crates showing some sort of change in performance with an average 1% improvement. These wins were a combination of many different changes including how doc(hidden)
gets more efficiently encoded in metadata, some optimizations in the borrow checker, and simplification of the output from derive(Debug)
for fieldless enums.
Triage done by @rylev. Revision range: 1f72129f..c8e6a9e8
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.2%, 0.7%] | 19 |
Regressions ❌ (secondary) | 0.9% | [0.2%, 1.5%] | 34 |
Improvements ✅ (primary) | -1.3% | [-17.2%, -0.2%] | 81 |
Improvements ✅ (secondary) | -2.1% | [-7.1%, -0.2%] | 64 |
All ❌✅ (primary) | -1.0% | [-17.2%, 0.7%] | 100 |
2 Regressions, 5 Improvements, 3 Mixed; 1 of them in rollups 34 artifact comparisons made in total
Check ADT fields for copy implementations considering regions #105102 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.5% | [0.4%, 0.5%] | 6 |
Regressions ❌ (secondary) | 1.7% | [1.4%, 2.0%] | 3 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.5% | [0.4%, 0.5%] | 6 |
ci: upgrade mingw-check to ubuntu:22.04 #106948 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.3%, 0.3%] | 2 |
Regressions ❌ (secondary) | 0.7% | [0.6%, 0.8%] | 6 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.3% | [0.3%, 0.3%] | 2 |
rustdoc: Revert #104889 #107083 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -4.4% | [-15.7%, -0.5%] | 7 |
Improvements ✅ (secondary) | -1.5% | [-1.6%, -1.4%] | 3 |
All ❌✅ (primary) | -4.4% | [-15.7%, -0.5%] | 7 |
Remove some ref
patterns from the compiler #106090 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.2% | [-0.2%, -0.1%] | 3 |
Improvements ✅ (secondary) | -0.3% | [-0.5%, -0.3%] | 5 |
All ❌✅ (primary) | -0.2% | [-0.2%, -0.1%] | 3 |
Lazy dominator tree construction in borrowck #106976 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-0.6%, -0.3%] | 26 |
Improvements ✅ (secondary) | -0.7% | [-1.0%, -0.3%] | 14 |
All ❌✅ (primary) | -0.4% | [-0.6%, -0.3%] | 26 |
Remap paths in UI tests by default #105924 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
Improvements ✅ (secondary) | -0.6% | [-0.8%, -0.3%] | 7 |
All ❌✅ (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
rustc_metadata: Encode doc(hidden)
flag to metadata #107136 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
Improvements ✅ (primary) | -1.9% | [-5.7%, -0.5%] | 18 |
Improvements ✅ (secondary) | -3.3% | [-5.8%, -0.8%] | 28 |
All ❌✅ (primary) | -1.9% | [-5.7%, -0.5%] | 18 |
Rollup of 9 pull requests #107143 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.8%] | 57 |
Regressions ❌ (secondary) | 0.5% | [0.2%, 1.4%] | 28 |
Improvements ✅ (primary) | -0.7% | [-1.1%, -0.3%] | 2 |
Improvements ✅ (secondary) | -0.7% | [-1.2%, -0.5%] | 8 |
All ❌✅ (primary) | 0.3% | [-1.1%, 0.8%] | 59 |
Simplify derive(Debug)
output for fieldless enums #106884 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.8% | [0.7%, 1.0%] | 7 |
Improvements ✅ (primary) | -0.5% | [-1.7%, -0.2%] | 22 |
Improvements ✅ (secondary) | -1.7% | [-2.9%, -0.5%] | 8 |
All ❌✅ (primary) | -0.5% | [-1.7%, -0.2%] | 22 |
Use UnordMap and UnordSet for id collections (DefIdMap, LocalDefIdMap, etc) #106977 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.3%] | 2 |
Regressions ❌ (secondary) | 0.6% | [0.4%, 0.8%] | 7 |
Improvements ✅ (primary) | -0.5% | [-0.5%, -0.5%] | 3 |
Improvements ✅ (secondary) | -0.3% | [-0.7%, -0.2%] | 20 |
All ❌✅ (primary) | -0.2% | [-0.5%, 0.3%] | 5 |