A week dominated by one particular perf improvement that lead to huge performance gains - an avg of 5% improvement across 121 test cases! The perf improvement comes from adding an #[inline]
hint to the output from #[derive(Debug)]
which presumably allows the compiler to more easily do deadcode elimination reducing the binary size and the amount of code that actually needs to be code-gened.
Triage done by @rylev. Revision range: 7b97a5ca..173b6e68
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.2%, 0.9%] | 10 |
Regressions ❌ (secondary) | 1.9% | [0.2%, 3.6%] | 12 |
Improvements ✅ (primary) | -5.6% | [-49.2%, -0.1%] | 111 |
Improvements ✅ (secondary) | -3.5% | [-25.0%, -0.2%] | 155 |
All ❌✅ (primary) | -5.1% | [-49.2%, 0.9%] | 121 |
2 Regressions, 2 Improvements, 3 Mixed; 3 of them in rollups 55 artifact comparisons made in total
Bump libc dependency #117617 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 8.3% | [1.1%, 19.0%] | 9 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 8.3% | [1.1%, 19.0%] | 9 |
Rollup of 6 pull requests #117736 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.2%, 0.5%] | 5 |
Regressions ❌ (secondary) | 0.6% | [0.6%, 0.6%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.4% | [0.2%, 0.5%] | 5 |
Rollup of 4 pull requests #117680 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -9.1% | [-16.0%, -2.6%] | 7 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -9.1% | [-16.0%, -2.6%] | 7 |
Add std::hash::{DefaultHasher, RandomState}
exports (needs FCP) #115694 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.9% | [-1.2%, -0.4%] | 6 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.9% | [-1.2%, -0.4%] | 6 |
Only use normalize_param_env
when normalizing predicate in check_item_bounds
#117542 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.4%, 0.4%] | 1 |
Regressions ❌ (secondary) | 1.4% | [0.8%, 2.3%] | 12 |
Improvements ✅ (primary) | -18.4% | [-49.6%, -0.2%] | 20 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -17.5% | [-49.6%, 0.4%] | 21 |
Emit #[inline] on derive(Debug) #117727 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 3.1% | [0.3%, 13.7%] | 5 |
Regressions ❌ (secondary) | 1.8% | [0.2%, 3.4%] | 6 |
Improvements ✅ (primary) | -2.3% | [-10.6%, -0.1%] | 110 |
Improvements ✅ (secondary) | -3.2% | [-25.2%, -0.1%] | 177 |
All ❌✅ (primary) | -2.1% | [-10.6%, 13.7%] | 115 |
Rollup of 6 pull requests #117769 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Regressions ❌ (secondary) | 1.0% | [1.0%, 1.0%] | 1 |
Improvements ✅ (primary) | -6.5% | [-12.3%, -0.7%] | 2 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -4.2% | [-12.3%, 0.3%] | 3 |