Skip to content

Commit 20911b7

Browse files
committed
rustc-perf Triage for 2023-11-29.
1 parent 8391cfe commit 20911b7

File tree

1 file changed

+30
-41
lines changed

1 file changed

+30
-41
lines changed

triage/2023-11-28.md

Lines changed: 30 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# 2023-11-28 Triage Log
22

3-
TODO: Summary
3+
A good week, despite a few PRs that pnkfelix opted not to mark as triaged. In
4+
particular, a broad set of primary benchmarks improved, due to improvements to
5+
resolve (PR #118188) and a one-pass rewrite of exhaustiveness (PR #117611).
46

5-
Triage done by **@???**.
7+
Triage done by **@pnkfelix**.
68
Revision range: [4f3da903..df0295f0](https://perf.rust-lang.org/?start=4f3da903a43f22ea33d2ca4435a24b42fc1f842a&end=df0295f07175acc7325ce3ca4152eb05752af1f2&absolute=false&stat=instructions%3Au)
79

810
**Summary**:
@@ -16,7 +18,7 @@ Revision range: [4f3da903..df0295f0](https://perf.rust-lang.org/?start=4f3da903a
1618
| All ❌✅ (primary) | -0.5% | [-2.1%, 1.5%] | 81 |
1719

1820

19-
1 Regressions, 5 Improvements, 5 Mixed; ??? of them in rollups
21+
1 Regressions, 5 Improvements, 5 Mixed; 2 of them in rollups
2022
84 artifact comparisons made in total
2123

2224
#### Regressions
@@ -31,6 +33,11 @@ Rollup of 4 pull requests [#118319](https://github.com/rust-lang/rust/pull/11831
3133
| Improvements ✅ <br /> (secondary) | - | - | 0 |
3234
| All ❌✅ (primary) | 0.4% | [0.1%, 0.8%] | 23 |
3335

36+
* The bulk (in this case > 0.31%) of the primary regressions are to bitmaps and libc, in a variety of incremental modes.
37+
* nnethercote noted that this seems like it must be PR #118311 ("merge DefKind::Coroutine into Defkind::Closure"), and confirmed it by benchmarking that specific commit.
38+
* follow-up PR's have been proposed, but we have not successfully found one that undoes the regression.
39+
* meanwhile, a follow-on PR, #118188, has landed that is coupled to #118311. This PR #118188 seems to have wide benefits. So it may not be worthwhile to spend time trying to figure out the regression injected by #118311.
40+
* not marking as triaged yet.
3441

3542
#### Improvements
3643

@@ -44,6 +51,8 @@ Remove `PredicateKind::ClosureKind` [#118120](https://github.com/rust-lang/rust/
4451
| Improvements ✅ <br /> (secondary) | -3.8% | [-8.1%, -0.5%] | 14 |
4552
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.2%] | 4 |
4653

54+
* slight improvements to clap check-{incr-full,full}, cargo check-full, and diesel doc-full
55+
4756

4857
Cache flags for `ty::Const` [#118189](https://github.com/rust-lang/rust/pull/118189) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=eab8c7d5fd335d673bb96bb4aef86c74006cef4b&end=41fe75ec6b824d51e5365098c4af9de45e5a2723&stat=instructions:u)
4958

@@ -55,6 +64,9 @@ Cache flags for `ty::Const` [#118189](https://github.com/rust-lang/rust/pull/118
5564
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.2%] | 3 |
5665
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 10 |
5766

67+
* slight improvements to bitmaps {check-full,opt-full}, serde {check-full,debug-full}, diesel check-full
68+
* the remaining 5 are doc-full improvements.
69+
5870

5971
Indicate that multiplication in Layout::array cannot overflow [#118228](https://github.com/rust-lang/rust/pull/118228) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f74f700952f105536446e415b8df8061bddfb25e&end=b06258cde4b0dd131cdbf289349ebf51b3b6388a&stat=instructions:u)
6072

@@ -66,6 +78,8 @@ Indicate that multiplication in Layout::array cannot overflow [#118228](https://
6678
| Improvements ✅ <br /> (secondary) | - | - | 0 |
6779
| All ❌✅ (primary) | -0.4% | [-0.5%, -0.3%] | 3 |
6880

81+
* switches to unsafe { element_size.unchecked_mul(n) } with a big ol' safety comment about why.
82+
* improved opt incr-patched:println for clap, image, and cargo benchmarks.
6983

7084
`AmbiguityCause` should not eagerly format strings [#118267](https://github.com/rust-lang/rust/pull/118267) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3acb261e214cd13ae54346af30eae5807501ec37&end=0b8a61b235662d397721d1b88ddefdfc147ba39a&stat=instructions:u)
7185

@@ -77,6 +91,7 @@ Indicate that multiplication in Layout::array cannot overflow [#118228](https://
7791
| Improvements ✅ <br /> (secondary) | - | - | 0 |
7892
| All ❌✅ (primary) | -0.4% | [-0.8%, -0.2%] | 5 |
7993

94+
* improved check builds for clap {incr-full,full,incr-unchanged} and hyper {incr-full,full}
8095

8196
resolve: Feed the `def_kind` query immediately on `DefId` creation [#118188](https://github.com/rust-lang/rust/pull/118188) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df0295f07175acc7325ce3ca4152eb05752af1f2&end=5facb422f8a5a61df515572fe79b02433639d565&stat=instructions:u)
8297

@@ -88,6 +103,8 @@ resolve: Feed the `def_kind` query immediately on `DefId` creation [#118188](htt
88103
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.0%, -0.1%] | 34 |
89104
| All ❌✅ (primary) | -0.3% | [-0.5%, -0.2%] | 58 |
90105

106+
* wide range of benchmarks improved on incr-unchanged and incr-patched variants: stm32f4, diesel, bitmaps, cranelift-codegen, syn, serde, et cetera.
107+
* as noted above with #118319, this is coupled with a PR (#118311) associated with some regressions.
91108

92109
#### Mixed
93110

@@ -101,6 +118,9 @@ Refactor `binary_search_by` to use conditional moves [#117722](https://github.co
101118
| Improvements ✅ <br /> (secondary) | -1.8% | [-2.6%, -1.3%] | 8 |
102119
| All ❌✅ (primary) | -1.1% | [-1.9%, 0.4%] | 6 |
103120

121+
* The single primary regression here seems to be a measurement blip, based on the 30-day history.
122+
* Even if it weren't, the improvements would outweigh the regression.
123+
* Marked as triaged.
104124

105125
Rewrite exhaustiveness in one pass [#117611](https://github.com/rust-lang/rust/pull/117611) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f5dc2653fdd8b5d177b2ccbd84057954340a89fc&end=ee80c8d0a8bc63b69f68216c5d37f9ab837eedd0&stat=instructions:u)
106126

@@ -112,6 +132,9 @@ Rewrite exhaustiveness in one pass [#117611](https://github.com/rust-lang/rust/p
112132
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
113133
| All ❌✅ (primary) | -0.6% | [-2.0%, 1.1%] | 13 |
114134

135+
* primary improvements were to html5ever, cranelift-codegen, exa, and image.
136+
* unicode-normalization was the main primary regression, by up to 1.15% (check incr-full); but its worth noting that it was very close to the significance factor (1.13%) for that benchmark, so its borderline historically.
137+
* already marked as triaged by nnethercote
115138

116139
rustc: Make `def_kind` mandatory for all `DefId`s [#118250](https://github.com/rust-lang/rust/pull/118250) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=33f6af805257c6d462ad45c5de32da3fb38bfaf7&end=5c97719393b093997a03d7bb5d8a01d712c66c0e&stat=instructions:u)
117140

@@ -123,6 +146,7 @@ rustc: Make `def_kind` mandatory for all `DefId`s [#118250](https://github.com/r
123146
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.5%, -0.2%] | 9 |
124147
| All ❌✅ (primary) | -0.1% | [-0.1%, -0.1%] | 5 |
125148

149+
* already marked as triaged by nnethercote. (regressions are confined to secondary match-stress benchmark).
126150

127151
Add `debug_assert_nounwind` and convert `assert_unsafe_precondition` [#110303](https://github.com/rust-lang/rust/pull/110303) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5c97719393b093997a03d7bb5d8a01d712c66c0e&end=9529a5d2655f6974c2ee16e91c5db548a3daea03&stat=instructions:u)
128152

@@ -134,6 +158,7 @@ Add `debug_assert_nounwind` and convert `assert_unsafe_precondition` [#110303](h
134158
| Improvements ✅ <br /> (secondary) | -0.6% | [-0.6%, -0.6%] | 2 |
135159
| All ❌✅ (primary) | 0.3% | [-0.4%, 0.6%] | 5 |
136160

161+
* already marked as triaged by nnethercote (hoped to be churn/noise).
137162

138163
Rollup of 7 pull requests [#118405](https://github.com/rust-lang/rust/pull/118405) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e06c94d6cb61ef2fa28370fb69a8d2e11b6678c4&end=46a24ed2f4b4bdfccca36fb20b1574a6164893d8&stat=instructions:u)
139164

@@ -145,41 +170,5 @@ Rollup of 7 pull requests [#118405](https://github.com/rust-lang/rust/pull/11840
145170
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.3%, -0.2%] | 4 |
146171
| All ❌✅ (primary) | 0.5% | [0.4%, 0.6%] | 3 |
147172

148-
149-
#### Untriaged Pull Requests
150-
151-
- [#118405 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/118405)
152-
- [#118319 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/118319)
153-
- [#117769 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/117769)
154-
- [#117736 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/117736)
155-
- [#117722 Refactor `binary_search_by` to use conditional moves](https://github.com/rust-lang/rust/pull/117722)
156-
- [#117180 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/117180)
157-
- [#116940 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/116940)
158-
- [#116889 Eat close paren if capture_cfg to avoid unbalanced parens](https://github.com/rust-lang/rust/pull/116889)
159-
- [#116492 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/116492)
160-
- [#116391 exhaustiveness: Rework constructor splitting](https://github.com/rust-lang/rust/pull/116391)
161-
- [#116183 Always preserve DebugInfo in DeadStoreElimination.](https://github.com/rust-lang/rust/pull/116183)
162-
- [#116033 report `unused_import` for empty reexports even it is pub](https://github.com/rust-lang/rust/pull/116033)
163-
- [#115762 Explain revealing of opaque types in layout_of ParamEnv](https://github.com/rust-lang/rust/pull/115762)
164-
- [#115751 some inspect improvements](https://github.com/rust-lang/rust/pull/115751)
165-
- [#115740 Cache reachable_set on disk](https://github.com/rust-lang/rust/pull/115740)
166-
- [#115252 Represent MIR composite debuginfo as projections instead of aggregates](https://github.com/rust-lang/rust/pull/115252)
167-
- [#115082 Fix races conditions with `SyntaxContext` decoding](https://github.com/rust-lang/rust/pull/115082)
168-
- [#115025 Make subtyping explicit in MIR](https://github.com/rust-lang/rust/pull/115025)
169-
- [#114892 Remove conditional use of `Sharded` from query caches](https://github.com/rust-lang/rust/pull/114892)
170-
- [#114481 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/114481)
171-
- [#114459 Do not run ConstProp on mir_for_ctfe.](https://github.com/rust-lang/rust/pull/114459)
172-
- [#114321 get auto traits for parallel rustc](https://github.com/rust-lang/rust/pull/114321)
173-
- [#114023 Warn on inductive cycle in coherence leading to impls being considered not overlapping](https://github.com/rust-lang/rust/pull/114023)
174-
- [#114004 Add `riscv64gc-unknown-hermit` target](https://github.com/rust-lang/rust/pull/114004)
175-
- [#113858 Always const-prop scalars and scalar pairs](https://github.com/rust-lang/rust/pull/113858)
176-
- [#113758 Turn copy into moves during DSE.](https://github.com/rust-lang/rust/pull/113758)
177-
- [#113485 Bump version to 1.73](https://github.com/rust-lang/rust/pull/113485)
178-
- [#113370 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/113370)
179-
- [#113320 Add some extra information to opaque type cycle errors](https://github.com/rust-lang/rust/pull/113320)
180-
- [#113306 Update debuginfo test runner to provide more useful output](https://github.com/rust-lang/rust/pull/113306)
181-
182-
#### Nags requiring follow up
183-
184-
TODO: Nags
185-
173+
* regressions are confined to clap opt {full,incr-full,incr-patched:println}
174+
* not marking as triaged

0 commit comments

Comments
 (0)