Skip to content

Latest commit

 

History

History
109 lines (79 loc) · 7.17 KB

2023-11-14.md

File metadata and controls

109 lines (79 loc) · 7.17 KB

2023-11-14 Triage Log

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

Regressions

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
  • A curious perf infra glitch - the regression returned to normal after a few runs.

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
  • The only PR that includes actual changes to the compiler is #117645. Kicked off a test to see if that's the root cause.

Improvements

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
  • The flip side of #117617's strange perf regression.

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

Mixed

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
  • Huge wins outweigh the small losses.

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
  • Noise