Skip to content

Commit a773b31

Browse files
pnkfelixKobzol
authored andcommitted
triage report for this week.
1 parent 23ff293 commit a773b31

File tree

1 file changed

+35
-41
lines changed

1 file changed

+35
-41
lines changed

triage/2024-10-21.md

Lines changed: 35 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
# 2024-10-21 Triage Log
22

3-
TODO: Summary
4-
5-
Triage done by **@???**.
3+
Some tidy improvements from switching to next generation trait solver
4+
(solely for coherence checking) and from simplifying our dataflow
5+
analysis framework. There were some binary size regressions associated
6+
with PR 126557 (adding `#[track_caller]` to allocating methods of
7+
`Vec` and `VecDeque`), which I have handed off to T-libs to choose
8+
whether to investigate further.
9+
10+
Triage done by **@pnkfelix**.
611
Revision range: [5ceb623a..3e33bda0](https://perf.rust-lang.org/?start=5ceb623a4abd66e91e7959d25caaf0523f1a7f7c&end=3e33bda0326586a6e1e34d0f5c060ca6d116e6a4&absolute=false&stat=instructions%3Au)
712

813
**Summary**:
@@ -35,6 +40,9 @@ stabilize `-Znext-solver=coherence` again [#130654](https://github.com/rust-lang
3540
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 3 |
3641
| All ❌✅ (primary) | -1.9% | [-4.5%, -0.2%] | 17 |
3742

43+
* improvements are to bitmaps and nalgebra
44+
* (presumably due to their heavy use of trait machinery; though, skimming bitmaps, I'm not sure if I see heavy use of trait machinery there)
45+
* what else can I say, except, amazing!
3846

3947
Remove `GenKillAnalysis` [#131481](https://github.com/rust-lang/rust/pull/131481) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1f67a7aa8d5b30c43c28ed9b2621cf4b7b8bb963&end=d829780c4e4ef11f5e09c1c5ed9684c12aad7236&stat=instructions:u)
4048

@@ -46,6 +54,10 @@ Remove `GenKillAnalysis` [#131481](https://github.com/rust-lang/rust/pull/131481
4654
| Improvements ✅ <br /> (secondary) | -0.9% | [-1.9%, -0.1%] | 19 |
4755
| All ❌✅ (primary) | -0.4% | [-0.7%, -0.2%] | 24 |
4856

57+
* improvements are spread across html5ever, serde, cargo, libc, diesel, and bitmaps.
58+
* wow. I'm surprised `GenKillAnalysis` is a pessimization
59+
* (maybe this is a sign that our basic blocks tend to hold a small number of instructions...?)
60+
* anyway, overall amazing work.
4961

5062
Rollup of 8 pull requests [#131792](https://github.com/rust-lang/rust/pull/131792) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bed75e7c21e8d18bd536a0f7c9e479d2f6707db3&end=7342830c05ec0996e9e4b7df550b1043dca7829c&stat=instructions:u)
5163

@@ -57,6 +69,8 @@ Rollup of 8 pull requests [#131792](https://github.com/rust-lang/rust/pull/13179
5769
| Improvements ✅ <br /> (secondary) | - | - | 0 |
5870
| All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 5 |
5971

72+
* improvements are to incremental scenarios for stm32f4 (and one also for libc).
73+
6074

6175
#### Mixed
6276

@@ -70,6 +84,9 @@ Add `#[track_caller]` to allocating methods of `Vec` & `VecDeque` [#126557](http
7084
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.1%] | 4 |
7185
| All ❌✅ (primary) | 0.3% | [0.0%, 0.5%] | 26 |
7286

87+
* based on a prior perf run (which predicted 16 primary regressions of roughly the same magnitude as observed here), the T-libs team had [already approved this PR](https://github.com/rust-lang/rust/pull/126557#issuecomment-2329482185) under the assumption that there wouldn't be a *runtime impact* from this.
88+
* there was a note from nnethercote that it isn't totally clear if the binary size increases were anticipated.
89+
* marking as triaged
7390

7491
Rollup of 8 pull requests [#131690](https://github.com/rust-lang/rust/pull/131690) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=17a19e684cdf3ca088af8b4da6a6209d128913f4&end=9322d183f45e0fd5a509820874cc5ff27744a479&stat=instructions:u)
7592

@@ -81,6 +98,9 @@ Rollup of 8 pull requests [#131690](https://github.com/rust-lang/rust/pull/13169
8198
| Improvements ✅ <br /> (secondary) | - | - | 0 |
8299
| All ❌✅ (primary) | -0.2% | [-0.8%, 0.4%] | 3 |
83100

101+
* regression to cargo opt-full; improvements to image and html5ever opt-full
102+
* briefly skimmed detailed results. nothing stood out.
103+
* not worth digging into further; marking as triaged
84104

85105
Use `ThinVec` for PredicateObligation storage [#131422](https://github.com/rust-lang/rust/pull/131422) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9ce3675b438aae22ef0c6147cde2003a418ab722&end=9618da7c9995a673af4841149ba2d1f53b69dd92&stat=instructions:u)
86106

@@ -92,6 +112,8 @@ Use `ThinVec` for PredicateObligation storage [#131422](https://github.com/rust-
92112
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.7%, -0.2%] | 23 |
93113
| All ❌✅ (primary) | -0.3% | [-0.7%, -0.2%] | 15 |
94114

115+
* improvements outweigh regressions. (and reported performance matches what was anticipated via perf runs.)
116+
* marking as triaged
95117

96118
optimize str.replace [#130223](https://github.com/rust-lang/rust/pull/130223) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3a85d3fa785d95a7b7bcf4f160b67bffba7afd4a&end=86bd45979a964678b40b79156744f0057759d840&stat=instructions:u)
97119

@@ -103,6 +125,9 @@ optimize str.replace [#130223](https://github.com/rust-lang/rust/pull/130223) [(
103125
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.3%] | 6 |
104126
| All ❌✅ (primary) | 0.3% | [-0.8%, 1.2%] | 6 |
105127

128+
* primary regressions to miscellaneous cargo and clap scenarios. (single primary improvement was to cargo incr-patched::println).
129+
* overall seems like minor regressions, potentially "just" instrumentation bias, compared to the expected benefit for microbenchmark reported in PR description.
130+
* marking as triaged.
106131

107132
Rollup of 8 pull requests [#131934](https://github.com/rust-lang/rust/pull/131934) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2a1206811d864df2bb61b2fc27ddc45a3589424&end=8069f8d17a6c86a8fd881939fcce359a90c57ff2&stat=instructions:u)
108133

@@ -114,6 +139,10 @@ Rollup of 8 pull requests [#131934](https://github.com/rust-lang/rust/pull/13193
114139
| Improvements ✅ <br /> (secondary) | - | - | 0 |
115140
| All ❌✅ (primary) | 0.1% | [-0.2%, 0.3%] | 3 |
116141

142+
* primary regressions to helloworld (doc) and hyper (opt); primary improvement to libc (doc).
143+
* all the secondary regressions are to doc benchmarks, which led lqd to hypothesize that this is due to PR 131908 which changed the hash used for filename generation to sha256 since it should be stable going forward.
144+
* hyper history seems really noisy.
145+
* marking as triaged
117146

118147
Update rustc-hash to version 2 but again [#131949](https://github.com/rust-lang/rust/pull/131949) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=de977a5acf210f7d71ff83f4b8bc42c274ce4ed9&end=662180b34d95f72d05b7c467b0baf4d23d36b1e1&stat=instructions:u)
119148

@@ -125,41 +154,6 @@ Update rustc-hash to version 2 but again [#131949](https://github.com/rust-lang/
125154
| Improvements ✅ <br /> (secondary) | -0.9% | [-1.4%, -0.6%] | 13 |
126155
| All ❌✅ (primary) | -0.1% | [-0.5%, 0.2%] | 18 |
127156

128-
129-
#### Untriaged Pull Requests
130-
131-
- [#131949 Update rustc-hash to version 2 but again](https://github.com/rust-lang/rust/pull/131949)
132-
- [#131934 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/131934)
133-
- [#131690 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/131690)
134-
- [#131422 Use `ThinVec` for PredicateObligation storage](https://github.com/rust-lang/rust/pull/131422)
135-
- [#131263 Introduce SolverRelating type relation to the new solver](https://github.com/rust-lang/rust/pull/131263)
136-
- [#131111 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/131111)
137-
- [#130223 optimize str.replace](https://github.com/rust-lang/rust/pull/130223)
138-
- [#130091 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/130091)
139-
- [#129831 Rollup of 11 pull requests](https://github.com/rust-lang/rust/pull/129831)
140-
- [#129817 Rollup of 12 pull requests](https://github.com/rust-lang/rust/pull/129817)
141-
- [#129797 Try to reduce space usage in dist CI](https://github.com/rust-lang/rust/pull/129797)
142-
- [#129790 Bump to 1.83](https://github.com/rust-lang/rust/pull/129790)
143-
- [#129632 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/129632)
144-
- [#129063 Apply size optimizations to panic machinery and some cold functions](https://github.com/rust-lang/rust/pull/129063)
145-
- [#128936 Support reading thin archives in ArArchiveBuilder](https://github.com/rust-lang/rust/pull/128936)
146-
- [#128443 Properly mark loop as diverging if it has no breaks](https://github.com/rust-lang/rust/pull/128443)
147-
- [#128357 Detect non-lifetime binder params shadowing item params](https://github.com/rust-lang/rust/pull/128357)
148-
- [#128301 Rollup of 3 pull requests](https://github.com/rust-lang/rust/pull/128301)
149-
- [#128299 Simplify the canonical clone method and the copy-like forms to copy](https://github.com/rust-lang/rust/pull/128299)
150-
- [#128169 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/128169)
151-
- [#128155 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/128155)
152-
- [#128104 Not lint pub structs without pub constructors intentionally](https://github.com/rust-lang/rust/pull/128104)
153-
- [#127998 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/127998)
154-
- [#127865 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/127865)
155-
- [#127537 Implement a first version of RFC 3525: struct target features](https://github.com/rust-lang/rust/pull/127537)
156-
- [#127528 Replace ASCII control chars with Unicode Control Pictures](https://github.com/rust-lang/rust/pull/127528)
157-
- [#127486 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/127486)
158-
- [#127439 Uplift elaboration into `rustc_type_ir`](https://github.com/rust-lang/rust/pull/127439)
159-
- [#127172 Make `can_eq` process obligations (almost) everywhere](https://github.com/rust-lang/rust/pull/127172)
160-
- [#127096 Rollup of 11 pull requests](https://github.com/rust-lang/rust/pull/127096)
161-
162-
#### Nags requiring follow up
163-
164-
TODO: Nags
165-
157+
* primary improvements to unicode-normalization and libc
158+
* primary regressions to typenum and serde
159+
* i don't think there's anything interesting to investigate here. marking as triaged.

0 commit comments

Comments
 (0)