Skip to content

Commit 4c714ca

Browse files
committed
triage for 2024-09-23.
1 parent d9ae658 commit 4c714ca

File tree

1 file changed

+24
-41
lines changed

1 file changed

+24
-41
lines changed

triage/2024-09-23.md

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

3-
TODO: Summary
3+
Not much happened this week. Most changes of note were readily
4+
justified as removing sources of unpredictable/inconsistent behavior
5+
from code-generation.
46

5-
Triage done by **@???**.
7+
Triage done by **@pnkfelix**.
68
Revision range: [170d6cb8..749f80ab](https://perf.rust-lang.org/?start=170d6cb845c8c3f0dcec5cdd4210df9ecf990244&end=749f80ab051aa0b3724b464130440b0e70a975ac&absolute=false&stat=instructions%3Au)
79

810
**Summary**:
@@ -31,10 +33,17 @@ Remove semi-nondeterminism of `DefPathHash` ordering from inliner [#130455](http
3133
| Improvements ✅ <br /> (secondary) | - | - | 0 |
3234
| All ❌✅ (primary) | 0.8% | [0.3%, 2.5%] | 5 |
3335

36+
* primary regressions are all to opt-full for hyper (-2.54%), clap (-0.69%), html5ever (-0.36%), image (-0.31%), cargo (-0.27%)
37+
* from detailed results on hyper, looks like `mir_callgraph_reachable` doubled in instr-count; if I'm reading the table right,
38+
it seems like it is being called nearly twice as often as before? But this outcome seems like it might be expected, since
39+
this PR is deliberately removing some code that would bail out early from that call.
40+
* it looks like @**Ben Kimock (Saethlin)** had already
41+
[attempted to mark](https://github.com/rust-lang/rust/pull/130455#issuecomment-2354849189) this as triaged (due to it being
42+
acceptable overhead for the benefit of better de
3443

3544
#### Improvements
3645

37-
46+
(nothing of note)
3847

3948
#### Mixed
4049

@@ -48,6 +57,8 @@ read_volatile __rust_no_alloc_shim_is_unstable in alloc_zeroed [#130497](https:/
4857
| Improvements ✅ <br /> (secondary) | - | - | 0 |
4958
| All ❌✅ (primary) | -0.2% | [-0.7%, 0.5%] | 3 |
5059

60+
* cranelift-codegen opt-full-llvm regressed by -0.48%.
61+
* marking as triaged; this is bringing the two allocator paths into consistency with eachother (the question of whether we want these volatile reads at all, and how to otherwise achieve their effect on the end-to-end developer experience, is an [entirely separate question](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Different.20mechanism.20for.20__rust_no_alloc_shim_is_unstable/near/462025387)).
5162

5263
Rollup of 9 pull requests [#130534](https://github.com/rust-lang/rust/pull/130534) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f79a912d9edc3ad4db910c0e93672ed5c65133fa&end=a5cf8bbd4e1c8edeae08778c85c6f806dd00e853&stat=instructions:u)
5364

@@ -59,6 +70,10 @@ Rollup of 9 pull requests [#130534](https://github.com/rust-lang/rust/pull/13053
5970
| Improvements ✅ <br /> (secondary) | -1.1% | [-1.2%, -0.6%] | 4 |
6071
| All ❌✅ (primary) | 0.3% | [0.2%, 0.3%] | 3 |
6172

73+
* syn regressed on three variant profiles: check incr-unchanged (-0.28%), check incr-patched:println (-0.27%), and debug incr-unchanged (-0.23%)
74+
* [detailed perf results](https://perf.rust-lang.org/detailed-query.html?commit=a5cf8bbd4e1c8edeae08778c85c6f806dd00e853&benchmark=syn-1.0.89-check&scenario=incr-unchanged&base_commit=f79a912d9edc3ad4db910c0e93672ed5c65133fa&sort_idx=-11) indicates that incr_comp_persist_dep_graph went from 0.002 seconds to 0.14 seconds; a delta that accounts for the vast bulk of the difference here...
75+
* but from examining the PR's that follow, it doesn't seem like that result persists into the future. (Also, I'm realizing that the detailed results are presenting seconds, not instruction-counts, and therefore they are probably wildly unstable between runs...)
76+
* marking as triaged; this isn't worth investigating further.
6277

6378
Support `char::encode_utf8` in const scenarios. [#130511](https://github.com/rust-lang/rust/pull/130511) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df7f77811c8806f85522a38878c57fde221138c9&end=f8192ba0d00bbbc58a10c45823ba010e98ea4474&stat=instructions:u)
6479

@@ -70,6 +85,10 @@ Support `char::encode_utf8` in const scenarios. [#130511](https://github.com/rus
7085
| Improvements ✅ <br /> (secondary) | - | - | 0 |
7186
| All ❌✅ (primary) | 0.0% | [-0.5%, 0.4%] | 5 |
7287

88+
* primary regressions to opt-full on clap (-0.38%), image (-0.33%), and webrender (-0.31%).
89+
* from inspection, it seems like this may just be a natural (and small, acceptable) artifact of the changes to which things get const-eval'ed.
90+
* marking as triaged
91+
7392

7493
Get rid of niche selection's dependence on fields's order [#130508](https://github.com/rust-lang/rust/pull/130508) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=749f80ab051aa0b3724b464130440b0e70a975ac&end=902f2956a627bd1bd44557b7fe6427a099bf8c48&stat=instructions:u)
7594

@@ -81,41 +100,5 @@ Get rid of niche selection's dependence on fields's order [#130508](https://gith
81100
| Improvements ✅ <br /> (secondary) | - | - | 0 |
82101
| All ❌✅ (primary) | -0.2% | [-0.6%, 0.2%] | 2 |
83102

84-
85-
#### Untriaged Pull Requests
86-
87-
- [#130649 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/130649)
88-
- [#130631 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/130631)
89-
- [#130534 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/130534)
90-
- [#130511 Support `char::encode_utf8` in const scenarios.](https://github.com/rust-lang/rust/pull/130511)
91-
- [#130508 Get rid of niche selection's dependence on fields's order](https://github.com/rust-lang/rust/pull/130508)
92-
- [#130497 read_volatile __rust_no_alloc_shim_is_unstable in alloc_zeroed](https://github.com/rust-lang/rust/pull/130497)
93-
- [#130455 Remove semi-nondeterminism of `DefPathHash` ordering from inliner](https://github.com/rust-lang/rust/pull/130455)
94-
- [#130091 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/130091)
95-
- [#129831 Rollup of 11 pull requests](https://github.com/rust-lang/rust/pull/129831)
96-
- [#129817 Rollup of 12 pull requests](https://github.com/rust-lang/rust/pull/129817)
97-
- [#129797 Try to reduce space usage in dist CI](https://github.com/rust-lang/rust/pull/129797)
98-
- [#129790 Bump to 1.83](https://github.com/rust-lang/rust/pull/129790)
99-
- [#129632 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/129632)
100-
- [#129063 Apply size optimizations to panic machinery and some cold functions](https://github.com/rust-lang/rust/pull/129063)
101-
- [#128936 Support reading thin archives in ArArchiveBuilder](https://github.com/rust-lang/rust/pull/128936)
102-
- [#128443 Properly mark loop as diverging if it has no breaks](https://github.com/rust-lang/rust/pull/128443)
103-
- [#128357 Detect non-lifetime binder params shadowing item params](https://github.com/rust-lang/rust/pull/128357)
104-
- [#128301 Rollup of 3 pull requests](https://github.com/rust-lang/rust/pull/128301)
105-
- [#128299 Simplify the canonical clone method and the copy-like forms to copy](https://github.com/rust-lang/rust/pull/128299)
106-
- [#128169 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/128169)
107-
- [#128155 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/128155)
108-
- [#128104 Not lint pub structs without pub constructors intentionally](https://github.com/rust-lang/rust/pull/128104)
109-
- [#127998 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/127998)
110-
- [#127865 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/127865)
111-
- [#127537 Implement a first version of RFC 3525: struct target features](https://github.com/rust-lang/rust/pull/127537)
112-
- [#127528 Replace ASCII control chars with Unicode Control Pictures](https://github.com/rust-lang/rust/pull/127528)
113-
- [#127486 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/127486)
114-
- [#127439 Uplift elaboration into `rustc_type_ir`](https://github.com/rust-lang/rust/pull/127439)
115-
- [#127172 Make `can_eq` process obligations (almost) everywhere](https://github.com/rust-lang/rust/pull/127172)
116-
- [#127096 Rollup of 11 pull requests](https://github.com/rust-lang/rust/pull/127096)
117-
118-
#### Nags requiring follow up
119-
120-
TODO: Nags
121-
103+
* primary regression to typenum doc-full (-0.23%)
104+
* marking as triaged; this is a very small (and probably semi-random) cost for a clear win IMO in terms of overall consistency of behavior.

0 commit comments

Comments
 (0)