Skip to content

Commit 5907579

Browse files
Merge pull request #1081 from Mark-Simulacrum/triage
Triage for this week
2 parents f81b34a + ba5fee0 commit 5907579

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

triage/2021-10-26.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# 2021-10-26 Triage Log
2+
3+
Multiple regressions this week, several of which were in rollups, without much
4+
to balance them out on the improvements front.
5+
6+
Triage done by **@simulacrum**.
7+
Revision range: [d45ed7502ad225739270a368528725930f54b7b6..3c8f001d454b1b495f7472d8430ef8fdf10aac11](https://perf.rust-lang.org/?start=d45ed7502ad225739270a368528725930f54b7b6&end=3c8f001d454b1b495f7472d8430ef8fdf10aac11&absolute=false&stat=instructions%3Au)
8+
9+
5 Regressions, 4 Improvements, 3 Mixed; 3 of them in rollups;
10+
35 comparisons made in total
11+
12+
#### Regressions
13+
14+
resolve: Use `NameBinding` for local variables and generic parameters [#89100](https://github.com/rust-lang/rust/issues/89100)
15+
- Very large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=42983a28ab3c70728da7a9b932b667c978dd898d&end=6162529a01473bbb2427fa27354cbafc3c514eee&stat=instructions:u) (up to 99.5% on `incr-unchanged` builds of `style-servo`)
16+
- Reverted in #90130.
17+
18+
Rollup of 6 pull requests [#90235](https://github.com/rust-lang/rust/issues/90235)
19+
- Very large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=ed08a67566d7d1d9dd2ad928ff21c23e841a4345&end=00d5e42e776da900049fe19087bc9b0057ec70cd&stat=instructions:u) (up to 9.8% on `incr-full` builds of `deeply-nested-async`)
20+
- Probably caused by new compiler-internal lint
21+
([#89558](https://github.com/rust-lang/rust/pull/89558)), which appears to be
22+
run on end-user code (despite being allow-by-default). Suggested a few
23+
possible fixes or a revert if we can't do so quickly.
24+
25+
Inline CStr::from_ptr [#90007](https://github.com/rust-lang/rust/issues/90007)
26+
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=01198792a608b05e624b0127e76dd0753057016c&end=514b3877956dc594823106b66c164f8cdbc8b3da&stat=instructions:u) (up to 0.4% on `incr-unchanged` builds of `helloworld`)
27+
- Regression limited to stress tests and fairly minor. Seems likely to be a
28+
litle extra work in codegen, as the regressions are all in -opt builds. This
29+
change is done to permit better optimization, skipping a call to strlen in
30+
some cases, so seems worthwhile.
31+
32+
Implement coherence checks for negative trait impls [#90104](https://github.com/rust-lang/rust/issues/90104)
33+
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=55ccbd090d96ec3bb28dbcb383e65bbfa3c293ff&end=aa5740c715001f981515ed46faaddebf67cb9539&stat=instructions:u) (up to 0.6% on `full` builds of `diesel`)
34+
- Looks like a real regression, but the feature is important and the regression
35+
is relatively small.
36+
37+
Rollup of 5 pull requests [#90203](https://github.com/rust-lang/rust/issues/90203)
38+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=aa5740c715001f981515ed46faaddebf67cb9539&end=91b931926fd49fc97d1e39f2b8206abf1d77ce7d&stat=instructions:u) (up to 0.6% on `full` builds of `externs`)
39+
- Regression limited to rustdoc, likely due to the addition of code-scraping
40+
from the examples directory. Does not seem major enough to warrant deep
41+
investigation, but have left a comment on the likely PR.
42+
43+
44+
#### Improvements
45+
46+
Adopt let_else across the compiler [#89933](https://github.com/rust-lang/rust/issues/89933)
47+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=c2452de12046850b8d4c00ce361569b24ad3ad8d&end=1af55d19c7a9189374d89472f97dc119659bb67e&stat=instructions:u) (up to -0.8% on `incr-unchanged` builds of `deeply-nested-async`)
48+
- Not clear exactly what the speedup comes from, but seems generally positive.
49+
50+
Revert "resolve: Use NameBinding for local variables and generic parameters" [#90130](https://github.com/rust-lang/rust/issues/90130)
51+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e015ef5b2633960e7653b744d7a1c3d1d336313a&end=547a6ffee0cf4da9929a9e3d49546dc87d607735&stat=instructions:u) (up to -49.8% on `incr-unchanged` builds of `style-servo`)
52+
- Reverting a regression listed above.
53+
54+
Specialize HashStable for [u8] slices [#90208](https://github.com/rust-lang/rust/issues/90208)
55+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=a99c9d6518690023914abdbaad572634f857c4c2&end=bdcb52851231dc14bc6a7915dc62528cae7b8137&stat=instructions:u) (up to -8.0% on `incr-full` builds of `ctfe-stress-4`)
56+
- Found as part of perf investigation, speeds up primarily CTFE-heavy workloads.
57+
58+
Build the query vtable directly. [#90210](https://github.com/rust-lang/rust/issues/90210)
59+
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=41d8c94d454f23239715a6433df79e46df8bce04&end=28d0e75269ad092662fef27f44c6aa029c376d49&stat=instructions:u) (up to -0.8% on `incr-unchanged` builds of `helloworld`)
60+
- Nice win on many benchmarks, though a small one.
61+
62+
63+
#### Mixed
64+
65+
Rollup of 10 pull requests [#90067](https://github.com/rust-lang/rust/issues/90067)
66+
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=1af55d19c7a9189374d89472f97dc119659bb67e&end=42983a28ab3c70728da7a9b932b667c978dd898d&stat=instructions:u) (up to -1.4% on `incr-patched: println` builds of `coercions`)
67+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=1af55d19c7a9189374d89472f97dc119659bb67e&end=42983a28ab3c70728da7a9b932b667c978dd898d&stat=instructions:u) (up to 1.1% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo`)
68+
- Left a comment with a few suggestions, but the regression and improvements
69+
seem both major and without obvious cause.
70+
71+
Merge the two depkind vtables [#89978](https://github.com/rust-lang/rust/issues/89978)
72+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d71e749a244890cd370d49963e747cf92f4a037&end=efd0483949496b067cd5f7569d1b28cd3d5d3c72&stat=instructions:u) (up to -2.0% on `incr-unchanged` builds of `helloworld`)
73+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d71e749a244890cd370d49963e747cf92f4a037&end=efd0483949496b067cd5f7569d1b28cd3d5d3c72&stat=instructions:u) (up to 0.9% on `incr-unchanged` builds of `clap-rs`)
74+
- Improvements mostly outweigh the regressions
75+
76+
77+
Make new symbol mangling scheme default for compiler itself. [#90054](https://github.com/rust-lang/rust/issues/90054)
78+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=514b3877956dc594823106b66c164f8cdbc8b3da&end=a3f7c4db0373aa077f86cdd1bf11122845d3b65a&stat=instructions:u) (up to -0.8% on `incr-unchanged` builds of `deeply-nested-async`)
79+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=514b3877956dc594823106b66c164f8cdbc8b3da&end=a3f7c4db0373aa077f86cdd1bf11122845d3b65a&stat=instructions:u) (up to 0.4% on `incr-unchanged` builds of `deep-vector`)
80+
- Mostly improvements, and digging in is hard since tools like rustfilt have
81+
slightly different output across the symbol mangling boundary. Regressions
82+
seem limited to a just a few benchmarks and are small enough that this seems
83+
acceptable.
84+
85+
#### Untriaged Pull Requests
86+
87+
- [#90235 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/90235)
88+
- [#90067 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/90067)
89+
- [#90054 Make new symbol mangling scheme default for compiler itself.](https://github.com/rust-lang/rust/pull/90054)
90+
- [#89939 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/89939)
91+
- [#89858 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/89858)
92+
- [#89695 Move top part of print_item to Tera templates](https://github.com/rust-lang/rust/pull/89695)
93+
- [#89608 Rollup of 12 pull requests](https://github.com/rust-lang/rust/pull/89608)
94+
- [#89534 Introduce `tcx.get_diagnostic_name`](https://github.com/rust-lang/rust/pull/89534)
95+
- [#89435 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/89435)
96+
- [#89405 Fix clippy lints](https://github.com/rust-lang/rust/pull/89405)
97+
- [#89263 Suggest both of immutable and mutable trait implementations](https://github.com/rust-lang/rust/pull/89263)
98+
- [#89165 Fix read_to_end to not grow an exact size buffer](https://github.com/rust-lang/rust/pull/89165)
99+
- [#89125 Don't use projection cache or candidate cache in intercrate mode](https://github.com/rust-lang/rust/pull/89125)
100+
- [#89124 Index and hash HIR as part of lowering](https://github.com/rust-lang/rust/pull/89124)
101+
- [#89103 Migrate in-tree crates to 2021](https://github.com/rust-lang/rust/pull/89103)
102+
- [#89100 resolve: Use `NameBinding` for local variables and generic parameters](https://github.com/rust-lang/rust/pull/89100)
103+
- [#89047 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/89047)
104+
- [#89030 Introduce `Rvalue::ShallowInitBox`](https://github.com/rust-lang/rust/pull/89030)
105+
- [#88945 Remove concept of 'completion' from the projection cache](https://github.com/rust-lang/rust/pull/88945)
106+
- [#88880 Rework HIR API to make invocations of the hir_crate query harder.](https://github.com/rust-lang/rust/pull/88880)
107+
- [#88824 Rollup of 15 pull requests](https://github.com/rust-lang/rust/pull/88824)
108+
- [#88804 Revise never type fallback algorithm](https://github.com/rust-lang/rust/pull/88804)
109+
- [#88719 Point at argument instead of call for their obligations](https://github.com/rust-lang/rust/pull/88719)
110+
- [#88703 Gather module items after lowering.](https://github.com/rust-lang/rust/pull/88703)
111+
- [#88627 Do not preallocate HirIds](https://github.com/rust-lang/rust/pull/88627)
112+
- [#88575 Querify `FnAbi::of_{fn_ptr,instance}` as `fn_abi_of_{fn_ptr,instance}`.](https://github.com/rust-lang/rust/pull/88575)
113+
- [#88540 add `slice::swap_unchecked`](https://github.com/rust-lang/rust/pull/88540)
114+
- [#88308 Morph `layout_raw` query into `layout_of`.](https://github.com/rust-lang/rust/pull/88308)
115+
- [#87781 Remove box syntax from compiler and tools](https://github.com/rust-lang/rust/pull/87781)
116+
117+
#### Nags requiring follow up
118+
119+
TODO: Nags
120+

0 commit comments

Comments
 (0)