|
| 1 | +# 2022-06-14 Triage Log |
| 2 | + |
| 3 | +A mixed week. I suppose it is best to focus on the fact we made some big |
| 4 | +improvements to a large number of primary benchmarks, at the cost of some |
| 5 | +smaller regressions to a smaller number of primary benchmarks. |
| 6 | + |
| 7 | +Triage done by **@pnkfelix**. |
| 8 | +Revision range: [bb55bd449e65e611da928560d948982d73e50027..edab34ab2abbafc16a78daedf71dbacd2eb0b7bf](https://perf.rust-lang.org/?start=bb55bd449e65e611da928560d948982d73e50027&end=edab34ab2abbafc16a78daedf71dbacd2eb0b7bf&absolute=false&stat=instructions%3Au) |
| 9 | + |
| 10 | +**Summary**: |
| 11 | + |
| 12 | +| | mean | max | count | |
| 13 | +|:----------:|:----:|:---:|:-----:| |
| 14 | +| Regressions 😿 <br /> (primary) | 0.6% | 1.6% | 35 | |
| 15 | +| Regressions 😿 <br /> (secondary) | 2.1% | 8.1% | 23 | |
| 16 | +| Improvements 🎉 <br /> (primary) | -0.8% | -3.5% | 72 | |
| 17 | +| Improvements 🎉 <br /> (secondary) | -0.8% | -2.9% | 62 | |
| 18 | +| All 😿🎉 (primary) | -0.4% | -3.5% | 107 | |
| 19 | + |
| 20 | + |
| 21 | +4 Regressions, 3 Improvements, 5 Mixed; 4 of them in rollups |
| 22 | +47 artifact comparisons made in total |
| 23 | + |
| 24 | +#### Regressions |
| 25 | + |
| 26 | +Rollup of 5 pull requests [#97825](https://github.com/rust-lang/rust/pull/97825) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=91cacb3faf987805675e39aca41859ec1fcabef3&end=7fe2c4b00dfbc33643e1af4b293eb057306a8339&stat=instructions:u) |
| 27 | + |
| 28 | +| | mean | max | count | |
| 29 | +|:----------:|:----:|:---:|:-----:| |
| 30 | +| Regressions 😿 <br /> (primary) | 0.2% | 0.3% | 4 | |
| 31 | +| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | |
| 32 | +| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | |
| 33 | +| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | |
| 34 | +| All 😿🎉 (primary) | 0.2% | 0.3% | 4 | |
| 35 | + |
| 36 | +* stm32f4-0.14.0 regressed for check+debug+opt on incr-patched: negate. diesel-1.4.8 regressed for check on incr-patched: println |
| 37 | +* Given that all the regressions are to incremental, I'm assuming this is because of #97058 |
| 38 | +* skimming over the [perf details for stm32f4 check](https://perf.rust-lang.org/detailed-query.html?commit=7fe2c4b00dfbc33643e1af4b293eb057306a8339&base_commit=91cacb3faf987805675e39aca41859ec1fcabef3&benchmark=stm32f4-0.14.0-check&scenario=incr-patched:%20negate), it *seems* like the bulk of the time delta is coming from `expand_crate`. A total time delta of 0.66, and the biggest contributors to that delta are `expand_crate` (0.033), `incr_comp_load_dep_graph` (0.015), `misc_checking_1` (0.007), `hir_owner_nodes` (0.005), `generate_crate_metadata` (0.005), `incr_comp_encode_dep_graph` (0.004), and `wf_checking` (0.004). The remainder are <= 0.003, most of them <= 0.000. |
| 39 | +* given the relatively small size and scope of the regression, and the fact that it was in a rollup, I do not think this is worth investigating further. marked as triaged. |
| 40 | + |
| 41 | +Rollup of 6 pull requests [#97968](https://github.com/rust-lang/rust/pull/97968) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ec55c61305eaf385fc1b93ac9a78284b4d887fe5&end=b9f3bdf5ce37c50c71dd7cee969a14e15f14130a&stat=instructions:u) |
| 42 | + |
| 43 | +| | mean | max | count | |
| 44 | +|:----------:|:----:|:---:|:-----:| |
| 45 | +| Regressions 😿 <br /> (primary) | 0.3% | 0.3% | 3 | |
| 46 | +| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | |
| 47 | +| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | |
| 48 | +| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | |
| 49 | +| All 😿🎉 (primary) | 0.3% | 0.3% | 3 | |
| 50 | + |
| 51 | +* diesel-1.4.8 regressed on check full, opt full, and check incr-full, by about 0.3% each time. |
| 52 | +* rylev says that diesel has started to become more noisy in its behavior, perhaps since we turned on PGO. |
| 53 | +* I do not think this is worth investigating further. marked as triaged. |
| 54 | + |
| 55 | +Handle `def_ident_span` like `def_span`. [#95880](https://github.com/rust-lang/rust/pull/95880) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c08b235a5ce10167632bb0fddcd0c5d67f2d42e3&end=99930ac7f8cbb5d9b319b2e2e92794fd6f24f556&stat=instructions:u) |
| 56 | + |
| 57 | +| | mean | max | count | |
| 58 | +|:----------:|:----:|:---:|:-----:| |
| 59 | +| Regressions 😿 <br /> (primary) | 0.6% | 1.6% | 92 | |
| 60 | +| Regressions 😿 <br /> (secondary) | 0.8% | 1.9% | 28 | |
| 61 | +| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | |
| 62 | +| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | |
| 63 | +| All 😿🎉 (primary) | 0.6% | 1.6% | 92 | |
| 64 | + |
| 65 | +* [Already triaged by the PR author](https://github.com/rust-lang/rust/pull/95880#issuecomment-1152671967). |
| 66 | +* "we encode more spans into metadata and invoke more queries, so the slight regression is to be expected." |
| 67 | + |
| 68 | +Rollup of 5 pull requests [#98025](https://github.com/rust-lang/rust/pull/98025) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae2aa18d7467e212c4e961378b1061628abdb358&end=53305f15625756dc3ec62ddc0ec070dee412a547&stat=instructions:u) |
| 69 | + |
| 70 | +| | mean | max | count | |
| 71 | +|:----------:|:----:|:---:|:-----:| |
| 72 | +| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | |
| 73 | +| Regressions 😿 <br /> (secondary) | 5.5% | 7.9% | 6 | |
| 74 | +| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | |
| 75 | +| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | |
| 76 | +| All 😿🎉 (primary) | N/A | N/A | 0 | |
| 77 | + |
| 78 | +* All six regressions are variations of issue-88862: {opt,debug} x { incr-full, full, incr-unchanged }. The two incr-unchanged cases regressed by 0.94% and 1.72% . The full cases regressed by 7.13% and 7.57% . The incr-full cases regressed by 7.86% and 7.80%. |
| 79 | +* None of these PRs strike me as something that would cause a problem for the code exercised by #88862. (I briefly thought it might be #98012, but issue-88862 doesn't exercise HKT's...) |
| 80 | +* but also, given that issue-88862 is a canary that is trying to catch a catastrophic regression, I think we can accept a 7-8% regression here. |
| 81 | + |
| 82 | +#### Improvements |
| 83 | + |
| 84 | +Re-use the type op instead of calling the implied_outlives_bounds query directly [#97081](https://github.com/rust-lang/rust/pull/97081) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5435ed6916a59e8d5acba2149316a841c3905cbd&end=b17e9d76f2ad15022e0e69bc33745c4ef9025a8f&stat=instructions:u) |
| 85 | + |
| 86 | +| | mean | max | count | |
| 87 | +|:----------:|:----:|:---:|:-----:| |
| 88 | +| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | |
| 89 | +| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | |
| 90 | +| Improvements 🎉 <br /> (primary) | -0.3% | -0.6% | 22 | |
| 91 | +| Improvements 🎉 <br /> (secondary) | -0.4% | -0.7% | 12 | |
| 92 | +| All 😿🎉 (primary) | -0.3% | -0.6% | 22 | |
| 93 | + |
| 94 | + |
| 95 | +Revert part of #94372 to improve performance [#97905](https://github.com/rust-lang/rust/pull/97905) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=75307c22f33cb47966466ba1daca08573a3c583e&end=c84594661c1b51feb539b479b58bb551fcf8e19a&stat=instructions:u) |
| 96 | + |
| 97 | +| | mean | max | count | |
| 98 | +|:----------:|:----:|:---:|:-----:| |
| 99 | +| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | |
| 100 | +| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | |
| 101 | +| Improvements 🎉 <br /> (primary) | -0.4% | -0.9% | 82 | |
| 102 | +| Improvements 🎉 <br /> (secondary) | -0.5% | -1.0% | 39 | |
| 103 | +| All 😿🎉 (primary) | -0.4% | -0.9% | 82 | |
| 104 | + |
| 105 | + |
| 106 | +Tidy up miscellaneous bounds suggestions [#97778](https://github.com/rust-lang/rust/pull/97778) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e652caa679a304af11fc04f1f12452f255a82593&end=37a42258ffe02cfb7107380759e492c64500ab55&stat=instructions:u) |
| 107 | + |
| 108 | +| | mean | max | count | |
| 109 | +|:----------:|:----:|:---:|:-----:| |
| 110 | +| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | |
| 111 | +| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | |
| 112 | +| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 2 | |
| 113 | +| Improvements 🎉 <br /> (secondary) | -0.7% | -0.8% | 6 | |
| 114 | +| All 😿🎉 (primary) | -0.3% | -0.4% | 2 | |
| 115 | + |
| 116 | + |
| 117 | +#### Mixed |
| 118 | + |
| 119 | +Folding revamp [#97447](https://github.com/rust-lang/rust/pull/97447) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=47aee31b2a89cb7de97d779869a30b046632b6af&end=64a7aa7016de32f4d991c30bfa40d3911e18a213&stat=instructions:u) |
| 120 | + |
| 121 | +| | mean | max | count | |
| 122 | +|:----------:|:----:|:---:|:-----:| |
| 123 | +| Regressions 😿 <br /> (primary) | 0.5% | 0.6% | 6 | |
| 124 | +| Regressions 😿 <br /> (secondary) | 0.4% | 0.7% | 5 | |
| 125 | +| Improvements 🎉 <br /> (primary) | -0.4% | -0.7% | 5 | |
| 126 | +| Improvements 🎉 <br /> (secondary) | -0.8% | -2.1% | 23 | |
| 127 | +| All 😿🎉 (primary) | 0.1% | -0.7% | 11 | |
| 128 | + |
| 129 | +* [already triaged by its author](https://github.com/rust-lang/rust/pull/97447#issuecomment-1150497492) |
| 130 | +* "The perf effects are fairly small and there are more improvements than regressions." |
| 131 | + |
| 132 | +Make `Encodable` and `Encoder` infallible. [#94732](https://github.com/rust-lang/rust/pull/94732) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e45d9973b2665897a768312e971b82cc62633103&end=1a97162cb245b5e2c7458c28859e3df779908c02&stat=instructions:u) |
| 133 | + |
| 134 | +| | mean | max | count | |
| 135 | +|:----------:|:----:|:---:|:-----:| |
| 136 | +| Regressions 😿 <br /> (primary) | 0.4% | 0.8% | 16 | |
| 137 | +| Regressions 😿 <br /> (secondary) | 0.5% | 0.9% | 15 | |
| 138 | +| Improvements 🎉 <br /> (primary) | -0.3% | -0.5% | 25 | |
| 139 | +| Improvements 🎉 <br /> (secondary) | -0.4% | -0.5% | 20 | |
| 140 | +| All 😿🎉 (primary) | -0.1% | 0.8% | 41 | |
| 141 | + |
| 142 | +* PR author [already investigated](https://github.com/rust-lang/rust/pull/94732#issuecomment-1154607616). |
| 143 | +* "Good news: #97905 fixed the regressions here. That PR plus this PR combined gave a clear performance win." |
| 144 | +* marked as triaged. |
| 145 | + |
| 146 | +cleanup bound variable handling [#97648](https://github.com/rust-lang/rust/pull/97648) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b9f3bdf5ce37c50c71dd7cee969a14e15f14130a&end=75307c22f33cb47966466ba1daca08573a3c583e&stat=instructions:u) |
| 147 | + |
| 148 | +| | mean | max | count | |
| 149 | +|:----------:|:----:|:---:|:-----:| |
| 150 | +| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | |
| 151 | +| Regressions 😿 <br /> (secondary) | 0.3% | 0.3% | 4 | |
| 152 | +| Improvements 🎉 <br /> (primary) | -0.7% | -1.7% | 22 | |
| 153 | +| Improvements 🎉 <br /> (secondary) | -0.5% | -0.6% | 16 | |
| 154 | +| All 😿🎉 (primary) | -0.7% | -1.7% | 22 | |
| 155 | + |
| 156 | + |
| 157 | +Rollup of 10 pull requests [#98066](https://github.com/rust-lang/rust/pull/98066) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=083721a1a7365d3afe1521cd2661b2201aac0450&end=ca122c7ebb3ab50149c9d3d24ddb59c252b32272&stat=instructions:u) |
| 158 | + |
| 159 | +| | mean | max | count | |
| 160 | +|:----------:|:----:|:---:|:-----:| |
| 161 | +| Regressions 😿 <br /> (primary) | 0.5% | 0.6% | 4 | |
| 162 | +| Regressions 😿 <br /> (secondary) | 0.4% | 0.5% | 11 | |
| 163 | +| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | |
| 164 | +| Improvements 🎉 <br /> (secondary) | -0.3% | -0.3% | 4 | |
| 165 | +| All 😿🎉 (primary) | 0.5% | 0.6% | 4 | |
| 166 | + |
| 167 | +* diesel-1.4.8 regressed by 0.5% for variations on check/debug/opt and incr-full/full. That's the only primary regression, and its within the noise level that we're currently associating with diesel, I think. |
| 168 | +* The other regressions are wf-projection-stress-65510, projection-caching, regression-31157, and wg-grammar. |
| 169 | +* wf-projection-stress-65510 and regression-31157 are canaries where we are trying to catch a *massive* regression, not a minor one like the ones presented here. |
| 170 | +* given that this is a rollup and the remaining regressions are well under 0.5%, I think that's the limit to the amount of investigation I want to do here. |
| 171 | + |
| 172 | +Remove RegionckMode in favor of calling new skip_region_resolution [#98041](https://github.com/rust-lang/rust/pull/98041) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2ecbf87cf355a121a62f0629ea5f880c9bf41fc&end=4e02a9281dd8c74cf5c04df044659b5e03b17571&stat=instructions:u) |
| 173 | + |
| 174 | +| | mean | max | count | |
| 175 | +|:----------:|:----:|:---:|:-----:| |
| 176 | +| Regressions 😿 <br /> (primary) | 0.2% | 0.2% | 1 | |
| 177 | +| Regressions 😿 <br /> (secondary) | 1.0% | 1.2% | 3 | |
| 178 | +| Improvements 🎉 <br /> (primary) | -0.9% | -3.7% | 35 | |
| 179 | +| Improvements 🎉 <br /> (secondary) | -0.3% | -0.3% | 1 | |
| 180 | +| All 😿🎉 (primary) | -0.8% | -3.7% | 36 | |
| 181 | + |
| 182 | + |
| 183 | +* Skimming over the comparison (and even just from the table), it seems clear that the improvements far far far outweighed the gains here. |
| 184 | +* Marking as triaged. |
| 185 | + |
| 186 | +#### Untriaged Pull Requests |
| 187 | + |
| 188 | +- [#98066 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/98066) |
| 189 | +- [#98025 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/98025) |
| 190 | +- [#97968 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/97968) |
| 191 | +- [#97825 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/97825) |
| 192 | +- [#97019 Transition to valtrees pt1](https://github.com/rust-lang/rust/pull/97019) |
| 193 | +- [#97004 Proc macro tweaks](https://github.com/rust-lang/rust/pull/97004) |
| 194 | +- [#96883 Add EarlyBinder](https://github.com/rust-lang/rust/pull/96883) |
| 195 | +- [#96825 Retire `ItemLikeVisitor` trait](https://github.com/rust-lang/rust/pull/96825) |
| 196 | +- [#96010 Implement `core::ptr::Unique` on top of `NonNull`](https://github.com/rust-lang/rust/pull/96010) |
| 197 | +- [#95990 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95990) |
| 198 | +- [#95899 rustc_metadata: Do not encode unnecessary module children](https://github.com/rust-lang/rust/pull/95899) |
| 199 | +- [#95893 Respect -Z verify-llvm-ir and other flags that add extra passes when combined with -C no-prepopulate-passes in the new LLVM Pass Manager.](https://github.com/rust-lang/rust/pull/95893) |
| 200 | +- [#95835 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95835) |
| 201 | +- [#95794 `parse_tt`: a few more tweaks](https://github.com/rust-lang/rust/pull/95794) |
| 202 | +- [#95742 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/95742) |
| 203 | +- [#95715 Shrink `Nonterminal`](https://github.com/rust-lang/rust/pull/95715) |
| 204 | +- [#95706 rustdoc: Early doc link resolution fixes and refactorings](https://github.com/rust-lang/rust/pull/95706) |
| 205 | +- [#95702 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95702) |
| 206 | +- [#95667 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/95667) |
| 207 | +- [#95662 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95662) |
| 208 | +- [#95645 Fix intra doc link ICE when trying to get traits in scope for primitive](https://github.com/rust-lang/rust/pull/95645) |
| 209 | +- [#95604 Generate synthetic object file to ensure all exported and used symbols participate in the linking](https://github.com/rust-lang/rust/pull/95604) |
| 210 | +- [#95563 Move the extended lifetime resolution into typeck context](https://github.com/rust-lang/rust/pull/95563) |
| 211 | +- [#95399 Faster parsing for lower numbers for radix up to 16 (cont.)](https://github.com/rust-lang/rust/pull/95399) |
| 212 | +- [#95250 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/95250) |
| 213 | +- [#94824 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/94824) |
| 214 | +- [#94814 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/94814) |
| 215 | +- [#94732 Make `Encodable` and `Encoder` infallible.](https://github.com/rust-lang/rust/pull/94732) |
| 216 | +- [#94527 Let CTFE to handle partially uninitialized unions without marking the entire value as uninitialized.](https://github.com/rust-lang/rust/pull/94527) |
| 217 | +- [#94402 Revert "Auto merge of #92419 - erikdesjardins:coldland, r=nagisa"](https://github.com/rust-lang/rust/pull/94402) |
0 commit comments