Skip to content

Commit e042df9

Browse files
committed
perf report for 2023-09-13.
1 parent ad3a64f commit e042df9

File tree

1 file changed

+32
-42
lines changed

1 file changed

+32
-42
lines changed

triage/2023-09-13.md

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
# 2023-09-13 Triage Log
22

3-
TODO: Summary
4-
5-
Triage done by **@???**.
3+
An interesting week. We saw a massive improvement to instruction-counts across
4+
over a hundred benchmarks, thanks to #110050 an improved encoding scheme for the
5+
dependency graphs that underlie incremental-compilation. However, these
6+
instruction-count improvements did not translate to direct cycle time
7+
improvements. We also saw an improvement to our artifact sizes due to #115306.
8+
Beyond that, we had a scattering of small regressions to instruction-counts that
9+
were justified because they were associated with bug fixes.
10+
11+
Triage done by **@pnkfelix**.
612
Revision range: [15e52b05..7e0261e7](https://perf.rust-lang.org/?start=15e52b05ca8f63e0da27c808680388717e5b997e&end=7e0261e7ea2085bdc0bc3d0fd6776bf343473858&absolute=false&stat=instructions%3Au)
713

814
**Summary**:
@@ -16,7 +22,7 @@ Revision range: [15e52b05..7e0261e7](https://perf.rust-lang.org/?start=15e52b05c
1622
| All ❌✅ (primary) | -1.3% | [-5.9%, 10.2%] | 123 |
1723

1824

19-
3 Regressions, 2 Improvements, 5 Mixed; ??? of them in rollups
25+
3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups
2026
84 artifact comparisons made in total
2127

2228
#### Regressions
@@ -31,6 +37,8 @@ Add `FreezeLock` type and use it to store `Definitions` [#115401](https://github
3137
| Improvements ✅ <br /> (secondary) | - | - | 0 |
3238
| All ❌✅ (primary) | 0.3% | [0.2%, 0.4%] | 11 |
3339

40+
* The impact here is [hypothesized to be](https://github.com/rust-lang/rust/pull/115401#issuecomment-1709461275) due to serial/parallel trade-off; we benchmark the serial case and observe a small regression, while the parallel case is observing an improvement of roughly the same caliber.
41+
* Marked as triaged
3442

3543
Rollup of 6 pull requests [#115672](https://github.com/rust-lang/rust/pull/115672) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cd71a37f320c379df47ff64abd934f3a2da94c26&end=309af3442a1808888e3ceb2eacccbf4140eba1e0&stat=instructions:u)
3644

@@ -42,6 +50,8 @@ Rollup of 6 pull requests [#115672](https://github.com/rust-lang/rust/pull/11567
4250
| Improvements ✅ <br /> (secondary) | - | - | 0 |
4351
| All ❌✅ (primary) | 4.2% | [0.8%, 9.8%] | 5 |
4452

53+
* already marked as triaged
54+
* all five regressions are to doc benchmarks, due to new feature added in https://github.com/rust-lang/rust/pull/115201
4555

4656
Use the same DISubprogram for each instance of the same inlined function within a caller [#115417](https://github.com/rust-lang/rust/pull/115417) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ffc48e3eda36e288f76b4022d72d94321887ebf5&end=62ebe3a2b177d50ec664798d731b8a8d1a9120d1&stat=instructions:u)
4757

@@ -53,6 +63,8 @@ Use the same DISubprogram for each instance of the same inlined function within
5363
| Improvements ✅ <br /> (secondary) | - | - | 0 |
5464
| All ❌✅ (primary) | 1.0% | [0.6%, 1.3%] | 3 |
5565

66+
* already marked as triaged
67+
* regression was expected, though we may be able to claw back performance after resolving rust#115455
5668

5769
#### Improvements
5870

@@ -90,6 +102,10 @@ Represent MIR composite debuginfo as projections instead of aggregates [#115252]
90102
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.3%] | 4 |
91103
| All ❌✅ (primary) | 1.1% | [-0.3%, 3.9%] | 3 |
92104

105+
* The single regression is to exa-0.10.1-opt-full
106+
* However, nnethercote noted that this PR introduced broad (if small)
107+
regressions to linked artifact (aka binary) sizes (in both opt and debug settings)
108+
* not marking as triaged
93109

94110
Use a specialized varint + bitpacking scheme for DepGraph encoding [#110050](https://github.com/rust-lang/rust/pull/110050) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4e5b31c2b0023dba53a1b2827f4b7ac42aaaa18f&end=f00c1399987c60b4e884afc42f4aa6226855e9ae&stat=instructions:u)
95111

@@ -101,6 +117,10 @@ Use a specialized varint + bitpacking scheme for DepGraph encoding [#110050](htt
101117
| Improvements ✅ <br /> (secondary) | -1.4% | [-2.9%, -0.5%] | 32 |
102118
| All ❌✅ (primary) | -1.7% | [-5.8%, -0.3%] | 104 |
103119

120+
* on its surface, the improvements to instruction counts here clearly outweigh the regressions
121+
* it is worth noting that the cycle counts did not see the same trends;
122+
there were zero improvements and 7 primary regressions to cycle counts.
123+
* still, marking as triaged; this PR has gone through enough performance evaluation already.
104124

105125
Rollup of 7 pull requests [#115665](https://github.com/rust-lang/rust/pull/115665) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3d249706aa8b0167dd49efa1b3ce7cc0e9cbba08&end=de4cba3a98a15a891ad708a049c7fb5682083d97&stat=instructions:u)
106126

@@ -112,6 +132,8 @@ Rollup of 7 pull requests [#115665](https://github.com/rust-lang/rust/pull/11566
112132
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
113133
| All ❌✅ (primary) | 0.7% | [0.6%, 0.7%] | 2 |
114134

135+
* primary regressions were helloworld-check (incr-unchanged and incr-patched:println)
136+
* marking as triaged; not worth investigating a rollup for that benchmark.
115137

116138
Avoid a `source_span` query when encoding Spans into query results [#115657](https://github.com/rust-lang/rust/pull/115657) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5ede9408945b46ab183dd228253297bdf62304f7&end=38bbc2ce03a2369d96898d58cc0aa06f1a4b5dcf&stat=instructions:u)
117139

@@ -123,6 +145,9 @@ Avoid a `source_span` query when encoding Spans into query results [#115657](htt
123145
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.6%, -0.4%] | 4 |
124146
| All ❌✅ (primary) | -0.0% | [-0.4%, 0.4%] | 4 |
125147

148+
* primary regressions are to diesel-check (full and incr-full).
149+
* This is fixing a soundness issue with the dep-graph maintenance; therefore, these regressions seem tolerable.
150+
* Marking as triaged
126151

127152
Encode only MIR reachable from other crates [#115306](https://github.com/rust-lang/rust/pull/115306) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8e37c509fda1f7387895e33783cba94ea3960a29&end=7418413a7fad1c4e8b82f970bd78af030e5f813e&stat=instructions:u)
128153

@@ -134,41 +159,6 @@ Encode only MIR reachable from other crates [#115306](https://github.com/rust-la
134159
| Improvements ✅ <br /> (secondary) | -0.9% | [-1.2%, -0.7%] | 5 |
135160
| All ❌✅ (primary) | -0.1% | [-2.7%, 2.4%] | 27 |
136161

137-
138-
#### Untriaged Pull Requests
139-
140-
- [#115665 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/115665)
141-
- [#115657 Avoid a `source_span` query when encoding Spans into query results](https://github.com/rust-lang/rust/pull/115657)
142-
- [#115401 Add `FreezeLock` type and use it to store `Definitions`](https://github.com/rust-lang/rust/pull/115401)
143-
- [#115306 Encode only MIR reachable from other crates](https://github.com/rust-lang/rust/pull/115306)
144-
- [#115252 Represent MIR composite debuginfo as projections instead of aggregates](https://github.com/rust-lang/rust/pull/115252)
145-
- [#115082 Fix races conditions with `SyntaxContext` decoding](https://github.com/rust-lang/rust/pull/115082)
146-
- [#114892 Remove conditional use of `Sharded` from query caches](https://github.com/rust-lang/rust/pull/114892)
147-
- [#114481 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/114481)
148-
- [#114459 Do not run ConstProp on mir_for_ctfe.](https://github.com/rust-lang/rust/pull/114459)
149-
- [#114321 get auto traits for parallel rustc](https://github.com/rust-lang/rust/pull/114321)
150-
- [#114023 Warn on inductive cycle in coherence leading to impls being considered not overlapping](https://github.com/rust-lang/rust/pull/114023)
151-
- [#114004 Add `riscv64gc-unknown-hermit` target](https://github.com/rust-lang/rust/pull/114004)
152-
- [#113858 Always const-prop scalars and scalar pairs](https://github.com/rust-lang/rust/pull/113858)
153-
- [#113758 Turn copy into moves during DSE.](https://github.com/rust-lang/rust/pull/113758)
154-
- [#113485 Bump version to 1.73](https://github.com/rust-lang/rust/pull/113485)
155-
- [#113370 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/113370)
156-
- [#113320 Add some extra information to opaque type cycle errors](https://github.com/rust-lang/rust/pull/113320)
157-
- [#113306 Update debuginfo test runner to provide more useful output](https://github.com/rust-lang/rust/pull/113306)
158-
- [#113304 Upgrade to indexmap 2.0.0](https://github.com/rust-lang/rust/pull/113304)
159-
- [#113270 perform TokenStream replacement in-place when possible in expand_macro](https://github.com/rust-lang/rust/pull/113270)
160-
- [#113057 Rollup of 2 pull requests](https://github.com/rust-lang/rust/pull/113057)
161-
- [#112963 Stop bubbling out hidden types from the eval obligation queries](https://github.com/rust-lang/rust/pull/112963)
162-
- [#112882 Rewrite `UnDerefer`](https://github.com/rust-lang/rust/pull/112882)
163-
- [#112420 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/112420)
164-
- [#112157 Resurrect: rustc_target: Add alignment to indirectly-passed by-value types, correcting the alignment of byval on x86 in the process.](https://github.com/rust-lang/rust/pull/112157)
165-
- [#112083 Make `TrustedStep` require `Copy`](https://github.com/rust-lang/rust/pull/112083)
166-
- [#112016 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/112016)
167-
- [#112001 Enable MatchBranchSimplification](https://github.com/rust-lang/rust/pull/112001)
168-
- [#111869 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/111869)
169-
- [#111850 Specialize `StepBy<Range<{integer}>>`](https://github.com/rust-lang/rust/pull/111850)
170-
171-
#### Nags requiring follow up
172-
173-
TODO: Nags
174-
162+
* the big (>1%) primary regressions were to three check-incr-unchanged cases: cranelift-codegen-0.82.1, html5ever-0.26.0, and hyper-0.14.18
163+
* the regressions seem unfortunate, but tolerable given the improvement to linked artifact sizes
164+
* marking as triaged

0 commit comments

Comments
 (0)