Skip to content

Commit 8560297

Browse files
Add triage this week
1 parent e095f50 commit 8560297

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

triage/2020-12-24.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# 2020-12-24 Triage Log
2+
3+
Major event this week is landing PGO for rustc (on x86_64-unknown-linux-gnu). We
4+
expect other platforms to follow but further investigation will be needed,
5+
especially for cross-compiled platforms. We expect to add LLVM PGO as well.
6+
7+
Triage done by **@simulacrum**.
8+
Revision range: [e1cce06e4ff5206daf397e1dcf91ed53653be171..c34c015fe2710caf53ba7ae9d1644f9ba65a6f74](https://perf.rust-lang.org/?start=e1cce06e4ff5206daf397e1dcf91ed53653be171&end=c34c015fe2710caf53ba7ae9d1644f9ba65a6f74&absolute=false&stat=instructions%3Au)
9+
10+
3 Regressions, 5 Improvements
11+
12+
#### Regressions
13+
14+
Rollup of 11 pull requests [#80105](https://github.com/rust-lang/rust/issues/80105)
15+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=a6491be5be9344a325b7e49b0114f3cf67ef199e&end=9b84d36a0b9ea3bf305f36f08d50aa42c26f96c2&stat=instructions:u) (up to 3.4% on `full` builds of `match-stress-enum-check`)
16+
- Due to implementing `if let` guards in [#79051](https://github.com/rust-lang/rust/issues/79051)
17+
18+
Revert "cg_llvm: `fewer_names` in `uncached_llvm_type`" [#80122](https://github.com/rust-lang/rust/issues/80122)
19+
- Very large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=eb4fc71dc9024f15a0c9cc44bcc10c861e9d585e&end=1954756aa53d03e59e40669eaa47a15d8497c352&stat=instructions:u) (up to 424.2% on `incr-patched: println` builds of `regression-31157-debug`)
20+
- Hopefully temporary fix until LLVM patches are applied. Fairly unfortunate,
21+
though, to lose this much performance.
22+
23+
or_patterns: implement :pat edition-specific behavior [#80100](https://github.com/rust-lang/rust/issues/80100)
24+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=0c11b93f5a8914a40f619b0a1663baafe029d427&end=29e32120c33d30ff526fc7f4d94ec9fce0dc10c9&stat=instructions:u) (up to 1.3% on `incr-unchanged` builds of `deep-vector-check`)
25+
- Most likely overeagerly queries edition of spans. Left ask for moving that to
26+
be lazy.
27+
28+
#### Improvements
29+
30+
Make BoundRegion have a kind of BoungRegionKind [#80163](https://github.com/rust-lang/rust/issues/80163)
31+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=29e32120c33d30ff526fc7f4d94ec9fce0dc10c9&end=b1964e60b72c2d10e9fd4e801990f8af3f306ac0&stat=instructions:u) (up to -2.1% on `full` builds of `clap-rs-check`)
32+
- Looks like faster mostly due to a smaller argument size
33+
34+
rustc_query_system: explicitly register reused dep nodes [#80177](https://github.com/rust-lang/rust/issues/80177)
35+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=353f3a38460d3c2222d2ab29143f48595b1a32a9&end=bb1fbbf84455fbad9afd26c17e0f725019322655&stat=instructions:u) (up to -2.4% on `incr-unchanged` builds of `match-stress-enum-check`)
36+
- Almost entirely incremental-only change, as expected.
37+
38+
Turn quadratic time on number of impl blocks into linear time [#78317](https://github.com/rust-lang/rust/issues/78317)
39+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=b0e5c7d1fee37f1890455b977495bfe262716701&end=c609b2eaf323186a1167ec1a9ffa69a7d4a5b1b9&stat=instructions:u) (up to -2.0% on `incr-unchanged` builds of `packed-simd-check`)
40+
41+
rustc_query_system: reduce dependency graph memory usage [#79589](https://github.com/rust-lang/rust/issues/79589)
42+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d10d3e49d9784ba3833ccf5d56d0a4d15bb36f6&end=49b315123e6adb35024437ef7ba408456771c062&stat=instructions:u) (up to -2.3% on `incr-unchanged` builds of `packed-simd-check`)
43+
44+
Utilize PGO for rustc linux dist builds [#80262](https://github.com/rust-lang/rust/issues/80262)
45+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=87eecd40e87cf7e77cee9cfdc79900c83baf6d8f&end=3ffea60dd5a2260004cc4f487401ae7c7db1aa0e&stat=instructions:u) (up to -12.2% on `full` builds of `externs-debug`)
46+
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=87eecd40e87cf7e77cee9cfdc79900c83baf6d8f&end=3ffea60dd5a2260004cc4f487401ae7c7db1aa0e&stat=instructions:u) (up to 7.4% on `incr-unchanged` builds of `many-assoc-items-check`)
47+
- Instruction counts are not the main target of PGO, and wall times are
48+
showing the expected 5-20% [wins](https://perf.rust-lang.org/compare.html?start=87eecd40e87cf7e77cee9cfdc79900c83baf6d8f&end=3ffea60dd5a2260004cc4f487401ae7c7db1aa0e&stat=wall-time).
49+
Note that we expect to improve performance even further by applying PGO to
50+
LLVM as well.
51+
52+
#### Nags requiring follow up
53+
54+
- or_patterns: implement :pat edition-specific behavior [#80100](https://github.com/rust-lang/rust/issues/80100)
55+
- Needs follow-up performance fixing patch. https://github.com/rust-lang/rust/pull/80100#issuecomment-750893149
56+
- stdarch is still a major contributor to libcore compile times.
57+

triage/weekly_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ def write_section(res, *changes):
204204
end = res['b']['commit']
205205
title = gh_pr_title(pr)
206206

207-
msg = f'{title}[#{pr}]({gh_link(pr)})'
207+
msg = f'{title} [#{pr}]({gh_link(pr)})'
208208

209209
for change in changes:
210210
msg += '\n- '

0 commit comments

Comments
 (0)