Skip to content

Commit 55e1364

Browse files
Merge pull request #794 from rylev/triage-2020-11-19
Add triage 2020-11-19
2 parents 5a1727e + 99a3d79 commit 55e1364

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

triage/2020-11-19.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
2020-11-19 Triage Log
3+
4+
This was a relatively mixed week, with some very large performance wins balanced out by a relatively large range of benchmarks seeing small performance regressions.
5+
6+
The winner this week for largest performance improvement was [#78826](https://github.com/rust-lang/rust/issues/78826) which saw huge gains in the relatively new derive stress benchmark.
7+
8+
Triage done by **@rylevick**.
9+
Revision range: [cf9cf7c923eb01146971429044f216a3ca905e06..c919f490bbcd2b29b74016101f7ec71aaa24bdbb](https://perf.rust-lang.org/?start=cf9cf7c923eb01146971429044f216a3ca905e06&end=c919f490bbcd2b29b74016101f7ec71aaa24bdbb&absolute=false&stat=instructions%3Au)
10+
11+
5 Regressions, 5 Improvements, 2 Mixed
12+
13+
6 rollups had perfomance impacts (3 negative, 1 positive, 2 mixed)
14+
15+
#### Regressions
16+
17+
[#76256](https://github.com/rust-lang/rust/issues/76256)
18+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=7f5a42b073dc2bee2aa625052eb066ee07072048&end=9722952f0bed5815cb22cb4878be09fb39f92804&stat=instructions:u) (up to 1.4% on `incr-unchanged` builds of `externs-check`)
19+
- Changes to the serialization of span end line/column.
20+
- This regresses performance slightly but is a necessary correctness fix that was affecting incremental builds (see the linked PR for many related issues). The performance lost here is balanced out by a related change to the [hashing algorithm](https://github.com/rust-lang/rust/pull/77476) introduced previously.
21+
22+
[#78998](https://github.com/rust-lang/rust/issues/78998)
23+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=9722952f0bed5815cb22cb4878be09fb39f92804&end=e80ee05bfc135d7d800f3fcc89bc005d6858cd9b&stat=instructions:u) (up to 1.2% on `incr-unchanged` builds of `deep-vector-check`)
24+
- Rollup
25+
- Most likely introduced by [#78836](https://github.com/rust-lang/rust/pull/78836) (Implement destructuring assignment for structs and slices)
26+
27+
[#79065](https://github.com/rust-lang/rust/issues/79065)
28+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=361c4ea22486557ec50c4fc6a93d60e7476ecbea&end=75042566d1c90d912f22e4db43b6d3af98447986&stat=instructions:u) (up to 2.9% on `full` builds of `deeply-nested-async-check`)
29+
- Rollup
30+
31+
[#78801](https://github.com/rust-lang/rust/issues/78801)
32+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=9b2b02a840f358bcadef5c3ae861d2852da20b3d&end=b5c37e86ff1782923e3abfbf5491dd383fcf827d&stat=instructions:u) (up to 2.3% on `full` builds of `inflate-check`)
33+
- Initial implementation of precise capture analysis in closures
34+
35+
[#79128](https://github.com/rust-lang/rust/issues/79128)
36+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=54508a26eb0595eb8417a4643f2ee572d6ca33d3&end=efcb3b39203a0d54269ca274601b8f73207fe10d&stat=instructions:u) (up to 2.5% on `full` builds of `ctfe-stress-4-check`)
37+
- Rollup
38+
- The affected benchmark is prone to noise, so it's not sure that this is an actual regression.
39+
40+
#### Improvements
41+
42+
[#78826](https://github.com/rust-lang/rust/issues/78826)
43+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=f036a8f3bee55ea7566ac7a631ad3193696204b4&end=a38f8fb674e6a0a6fc358655c6ce6069235f621a&stat=instructions:u) (up to -49.0% on `incr-unchanged` builds of `derive-check`)
44+
- Change how macro_rules scopes are tracked during expansion so that they do not grow to big.
45+
- This was particularly helpful in the new derive stress test benchmark, but yielded improvements in several other benchmarks.
46+
47+
[#78825](https://github.com/rust-lang/rust/issues/78825)
48+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=38030ffb4e735b26260848b744c0910a5641e1db&end=d4ea0b3e46a0303d5802b632e88ba1ba84d9d16f&stat=instructions:u) (up to -1.5% on `incr-patched: println` builds of `coercions-debug`)
49+
- Changes several usages of `unwrap_or` to `unwrap_or_else` so that the else case is lazily evaluated.
50+
51+
[#78956](https://github.com/rust-lang/rust/issues/78956)
52+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=5404efc28a0cddee103ef6396c48ea71ff9631c8&end=77180db6f81ffdacd14545f1df0a5db55dac1706&stat=instructions:u) (up to -1.1% on `incr-patched: println` builds of `coercions-debug`)
53+
- Rollup
54+
55+
[#78313](https://github.com/rust-lang/rust/issues/78313)
56+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=c6a6105bccd5599daf0ecef40c4b5ffa175fc1c1&end=9b2b02a840f358bcadef5c3ae861d2852da20b3d&stat=instructions:u) (up to -2.1% on `full` builds of `inflate-check`)
57+
- Internal refactor ([proposed here](https://github.com/rust-lang/compiler-team/issues/371)) where `TypeFoldable` takes self by value instead of reference.
58+
59+
[#78779](https://github.com/rust-lang/rust/issues/78779)
60+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=efcb3b39203a0d54269ca274601b8f73207fe10d&end=e0ef0fc392963438af5f0343bf7caa46fb9c3ec3&stat=instructions:u) (up to -2.0% on `full` builds of `inflate-check`)
61+
- Internal refactoring which introduces `BreakTy` in `TypeVisitor`.
62+
63+
#### Mixed
64+
65+
[#78920](https://github.com/rust-lang/rust/issues/78920)
66+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=cf9cf7c923eb01146971429044f216a3ca905e06&end=38030ffb4e735b26260848b744c0910a5641e1db&stat=instructions:u) (up to -2.5% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo-opt`)
67+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=cf9cf7c923eb01146971429044f216a3ca905e06&end=38030ffb4e735b26260848b744c0910a5641e1db&stat=instructions:u) (up to 1.5% on `incr-patched: println` builds of `coercions-debug`)
68+
- Rollup
69+
70+
[#79104](https://github.com/rust-lang/rust/issues/79104)
71+
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=f5230fbf76bafd86ee4376a0e26e551df8d17fec&end=c6a6105bccd5599daf0ecef40c4b5ffa175fc1c1&stat=instructions:u) (up to 6.5% on `full` builds of `keccak-opt`)
72+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=f5230fbf76bafd86ee4376a0e26e551df8d17fec&end=c6a6105bccd5599daf0ecef40c4b5ffa175fc1c1&stat=instructions:u) (up to -2.1% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo-debug`)
73+
- Rollup
74+
75+
#### Nags requiring follow up
76+
77+
No nags this week.
78+
79+

0 commit comments

Comments
 (0)