Skip to content

Commit 37bd4a8

Browse files
Merge pull request #859 from rylev/triage-2021-04-01
Add triage 2021-04-01
2 parents 602b872 + 7af0553 commit 37bd4a8

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

triage/2021-04-01.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# 2021-04-01 Triage Log
2+
3+
A somewhat negative weak for performance where regressions outweigh improvements. Sadly, a lot of the regressions don't seem very straight-forward to understand, and so more investigation will be necessary.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [9b6339e4b9747d473270baa42e77e1d2fff39bf4..4896450e7e0a522486b4d3a8d360ac4e1d2072a0](https://perf.rust-lang.org/?start=9b6339e4b9747d473270baa42e77e1d2fff39bf4&end=4896450e7e0a522486b4d3a8d360ac4e1d2072a0&absolute=false&stat=instructions%3Au)
7+
8+
2 Regressions, 2 Improvements, 3 Mixed
9+
2 of them in rollups
10+
11+
#### Regressions
12+
13+
implement `feature(const_generics_defaults)` [#75384](https://github.com/rust-lang/rust/issues/75384)
14+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=db492ecd5ba6bd82205612cebb9034710653f0c2&end=5b33de3340c7b36646af46303a30f7066b4bd7db&stat=instructions:u) (up to 1.1% on `incr-unchanged` builds of `ucd-check`)
15+
- A small regression in incremental compilation in one particular benchmark `ucd`. The query affected is `generate_crate_metadata` which tracks with the fact that incremental compilation is affected.
16+
- A quick scan of the changes doesn't reveal anything suspicious as encoding of metadata has changed only a little bit and should only be impacted when encoding something with default const generics.
17+
18+
Use `EvaluatedToOkModuloRegions` whenever we erase regions [#83220](https://github.com/rust-lang/rust/issues/83220)
19+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=f5fe425c925ef36d5f4c18cfa44173fc42de31b8&end=07e0e2ec268c140e607e1ac7f49f145612d0f597&stat=instructions:u) (up to 1.8% on `full` builds of `hyper-2-check`)
20+
- A moderate regression in trait obligation evaluation which this code directly impacts.
21+
- A performance run was performed, but the impact was deemed acceptable. The author and reviewer [were pinged](https://github.com/rust-lang/rust/pull/83220#issuecomment-811752366) about why the performance is acceptable.
22+
23+
Refactor `Binder` to track bound vars [#76814](https://github.com/rust-lang/rust/issues/76814)
24+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=a5029ac0ab372aec515db2e718da6d7787f3d122&end=4fdac23f3171e2f8864d359a21da600dd3faafc9&stat=instructions:u) (up to 3.9% on `incr-unchanged` builds of `externs-check`)
25+
- Moderate regression in trait resolution queries which this code directly impacts. While a performance run was made, it was never discussed in the PR. The author and reviewer [were pinged](https://github.com/rust-lang/rust/pull/76814#issuecomment-811758311).
26+
27+
#### Improvements
28+
29+
Rollup of 9 pull requests [#83432](https://github.com/rust-lang/rust/issues/83432)
30+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=673d0db5e393e9c64897005b470bfeb6d5aec61b&end=db492ecd5ba6bd82205612cebb9034710653f0c2&stat=instructions:u) (up to -4.2% on `full` builds of `html5ever-opt`)
31+
32+
Rollup of 8 pull requests [#83580](https://github.com/rust-lang/rust/issues/83580)
33+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=afaf33dcafe9c7068b63eb997df221aa08db7c29&end=9b0edb7fddacd6a60a380c1ce59159de597ab270&stat=instructions:u) (up to -1.4% on `full` builds of `html5ever-opt`)
34+
35+
#### Mixed
36+
37+
Remove assignments to ZST places instead of marking ZST return place as unused [#83177](https://github.com/rust-lang/rust/issues/83177)
38+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4eb0bc7346ef38218e21268001a898f6892db2c1&end=79e5814f4520f2c51b5307421db45cd82d134e76&stat=instructions:u) (up to 3.1% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo-debug`)
39+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4eb0bc7346ef38218e21268001a898f6892db2c1&end=79e5814f4520f2c51b5307421db45cd82d134e76&stat=instructions:u) (up to -1.1% on `incr-full` builds of `externs-debug`)
40+
- Perf regression is mainly in LLVM caused most likely by LLVM now being able to perf optimizations it could not previously. It's unclear why the regression occurred though.
41+
42+
Import small cold functions [#82980](https://github.com/rust-lang/rust/issues/82980)
43+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4137088d9da94f693b287f35e2b17782c0b1a283&end=e423058751a2b098d3e469a8e6df1b7a8bbd67b6&stat=instructions:u) (up to 4.7% on `incr-unchanged` builds of `deeply-nested-async-check`)
44+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4137088d9da94f693b287f35e2b17782c0b1a283&end=e423058751a2b098d3e469a8e6df1b7a8bbd67b6&stat=instructions:u) (up to -2.3% on `full` builds of `ctfe-stress-4-opt`)
45+
- I am unsure of the overall cost/benefit analysis of this change and have [pinged](https://github.com/rust-lang/rust/pull/82980#issuecomment-811767001) the author and reviewer about it.
46+
47+
Reduce the impact of Vec::reserve calls that do not cause any allocation [#83357](https://github.com/rust-lang/rust/issues/83357)
48+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=902ca44c1953ad8f640e86d154c86cc1f5a3bde1&end=32d3276561e88bfdf92cc483cff842a24fdd4b37&stat=instructions:u) (up to 3.1% on `incr-unchanged` builds of `webrender-wrench-opt`)
49+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=902ca44c1953ad8f640e86d154c86cc1f5a3bde1&end=32d3276561e88bfdf92cc483cff842a24fdd4b37&stat=instructions:u) (up to -2.2% on `incr-unchanged` builds of `ucd-check`)
50+
- It is often hard to track how changes in the standard library impact performance. The author and reviewer were [pinged](https://github.com/rust-lang/rust/pull/83357#issuecomment-811770400) for their perspective.
51+
52+
#### Nags requiring follow up
53+
54+
- The [issue](https://github.com/rust-lang/rust/pull/82964#issuecomment-800663588) from two weeks ago has stalled.
55+
- Follow-ups from this week:
56+
- https://github.com/rust-lang/rust/pull/83220#issuecomment-811752366
57+
- https://github.com/rust-lang/rust/pull/76814#issuecomment-811758311
58+
- https://github.com/rust-lang/rust/pull/82980#issuecomment-811767001
59+
- https://github.com/rust-lang/rust/pull/83357#issuecomment-811770400

0 commit comments

Comments
 (0)