|
| 1 | +# 2022-06-28 Triage Log |
| 2 | + |
| 3 | +Overall, a positive week for compiler performance with regressions mainly being relegated to smaller issues. This can be see by the fact that 95 test cases in real world crates were improvements while regressions only happened in 22 test cases. The largest improvement was by @nnethercote where the compilation of `#[derive(Debug)]` was improved. This led to an average of 1% improvement in compile times across 124 real world crate test cases. |
| 4 | + |
| 5 | +Triage done by **@rylev**. |
| 6 | +Revision range: [abace0a1f17986d89aedf610819deab2b4afee56..baf382e63c023259fa1f9042f8f479f183ca6ed3](https://perf.rust-lang.org/?start=abace0a1f17986d89aedf610819deab2b4afee56&end=baf382e63c023259fa1f9042f8f479f183ca6ed3&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +**Summary**: |
| 9 | + |
| 10 | +| | mean | max | count | |
| 11 | +|:----------:|:----:|:---:|:-----:| |
| 12 | +| Regressions πΏ <br /> (primary) | 0.6% | 2.4% | 22 | |
| 13 | +| Regressions πΏ <br /> (secondary) | 0.5% | 1.0% | 35 | |
| 14 | +| Improvements π <br /> (primary) | -1.1% | -5.2% | 95 | |
| 15 | +| Improvements π <br /> (secondary) | -2.3% | -10.3% | 35 | |
| 16 | +| All πΏπ (primary) | -0.8% | -5.2% | 117 | |
| 17 | + |
| 18 | + |
| 19 | +3 Regressions, 3 Improvements, 4 Mixed; 5 of them in rollups |
| 20 | +34 artifact comparisons made in total |
| 21 | + |
| 22 | +#### Regressions |
| 23 | + |
| 24 | + |
| 25 | +Rollup of 16 pull requests [#98438](https://github.com/rust-lang/rust/pull/98438) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43347397f7c5ca9a670a3bb3890c7187e24a52ab&end=e605a88441e5f6092194c914912142db635dfe21&stat=instructions:u) |
| 26 | + |
| 27 | +| | mean | max | count | |
| 28 | +|:----------:|:----:|:---:|:-----:| |
| 29 | +| Regressions πΏ <br /> (primary) | 0.3% | 0.4% | 37 | |
| 30 | +| Regressions πΏ <br /> (secondary) | 0.4% | 0.6% | 17 | |
| 31 | +| Improvements π <br /> (primary) | N/A | N/A | 0 | |
| 32 | +| Improvements π <br /> (secondary) | -0.4% | -0.5% | 3 | |
| 33 | +| All πΏπ (primary) | 0.3% | 0.4% | 37 | |
| 34 | +- Given the difficulty of investigation and the relatively small magnitude of the regression, I've marked this as triaged. |
| 35 | + |
| 36 | +fix universes in the NLL type tests [#98109](https://github.com/rust-lang/rust/pull/98109) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fc96600bf6a52f92aeeee60a92a161a82b61c0ef&end=d017d59ed013a4bc2431d023077eb7209fe9c60d&stat=instructions:u) |
| 37 | + |
| 38 | +| | mean | max | count | |
| 39 | +|:----------:|:----:|:---:|:-----:| |
| 40 | +| Regressions πΏ <br /> (primary) | 0.6% | 1.9% | 31 | |
| 41 | +| Regressions πΏ <br /> (secondary) | 0.9% | 2.0% | 35 | |
| 42 | +| Improvements π <br /> (primary) | N/A | N/A | 0 | |
| 43 | +| Improvements π <br /> (secondary) | N/A | N/A | 0 | |
| 44 | +| All πΏπ (primary) | 0.6% | 1.9% | 31 | |
| 45 | +- This was a high-priority correctness fix, so the regressions are acceptable at least in the short term. |
| 46 | +- [Oli already commented](https://github.com/rust-lang/rust/pull/98109#issuecomment-1165569316) on possible ideas for fixing the regression. |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | +Rollup of 9 pull requests [#98591](https://github.com/rust-lang/rust/pull/98591) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2f3ddd9f594adf9773547aa7cedb43c4ac8ffd2f&end=7f08d04d60d03e1a52dae61ce6aa50996898702b&stat=instructions:u) |
| 51 | + |
| 52 | +| | mean | max | count | |
| 53 | +|:----------:|:----:|:---:|:-----:| |
| 54 | +| Regressions πΏ <br /> (primary) | N/A | N/A | 0 | |
| 55 | +| Regressions πΏ <br /> (secondary) | 1.2% | 1.7% | 7 | |
| 56 | +| Improvements π <br /> (primary) | N/A | N/A | 0 | |
| 57 | +| Improvements π <br /> (secondary) | N/A | N/A | 0 | |
| 58 | +| All πΏπ (primary) | N/A | N/A | 0 | |
| 59 | +- [#98576](https://github.com/rust-lang/rust/pull/98576) is probably the only likely candidate for this regression. |
| 60 | +- The cahcegrind didn't reveal anything super interesting though unfortunately. |
| 61 | +- Left a comment [here](https://github.com/rust-lang/rust/pull/98591#issuecomment-1168877399). |
| 62 | + |
| 63 | + |
| 64 | +#### Improvements |
| 65 | + |
| 66 | +Rollup of 11 pull requests [#98335](https://github.com/rust-lang/rust/pull/98335) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a25b1315ee968146a5b206a8f3c670c5b307ebfe&end=72fd41a8b4d3488c97df3c3c75ddd9951aa3c73f&stat=instructions:u) |
| 67 | + |
| 68 | +| | mean | max | count | |
| 69 | +|:----------:|:----:|:---:|:-----:| |
| 70 | +| Regressions πΏ <br /> (primary) | N/A | N/A | 0 | |
| 71 | +| Regressions πΏ <br /> (secondary) | 1.1% | 1.1% | 1 | |
| 72 | +| Improvements π <br /> (primary) | -0.9% | -1.2% | 8 | |
| 73 | +| Improvements π <br /> (secondary) | -0.6% | -0.7% | 13 | |
| 74 | +| All πΏπ (primary) | -0.9% | -1.2% | 8 | |
| 75 | + |
| 76 | + |
| 77 | +proc_macro/bridge: cache static spans in proc_macro's client thread-local state [#98187](https://github.com/rust-lang/rust/pull/98187) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c80c4b8fdcf3da69cd483e2fec172c9b1f95842c&end=3b0d4813ab461ec81eab8980bb884691c97c5a35&stat=instructions:u) |
| 78 | + |
| 79 | +| | mean | max | count | |
| 80 | +|:----------:|:----:|:---:|:-----:| |
| 81 | +| Regressions πΏ <br /> (primary) | N/A | N/A | 0 | |
| 82 | +| Regressions πΏ <br /> (secondary) | N/A | N/A | 0 | |
| 83 | +| Improvements π <br /> (primary) | -0.4% | -0.7% | 12 | |
| 84 | +| Improvements π <br /> (secondary) | N/A | N/A | 0 | |
| 85 | +| All πΏπ (primary) | -0.4% | -0.7% | 12 | |
| 86 | + |
| 87 | + |
| 88 | +Only keep a single query for well-formed checking [#98222](https://github.com/rust-lang/rust/pull/98222) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7f08d04d60d03e1a52dae61ce6aa50996898702b&end=5ffa8f67b75be56cf829bfc9d055082c8382c0cf&stat=instructions:u) |
| 89 | + |
| 90 | +| | mean | max | count | |
| 91 | +|:----------:|:----:|:---:|:-----:| |
| 92 | +| Regressions πΏ <br /> (primary) | N/A | N/A | 0 | |
| 93 | +| Regressions πΏ <br /> (secondary) | N/A | N/A | 0 | |
| 94 | +| Improvements π <br /> (primary) | -0.2% | -0.3% | 2 | |
| 95 | +| Improvements π <br /> (secondary) | -0.2% | -0.3% | 7 | |
| 96 | +| All πΏπ (primary) | -0.2% | -0.3% | 2 | |
| 97 | + |
| 98 | + |
| 99 | +#### Mixed |
| 100 | + |
| 101 | +Remove dereferencing of Box from codegen [#95576](https://github.com/rust-lang/rust/pull/95576) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=abace0a1f17986d89aedf610819deab2b4afee56&end=a25b1315ee968146a5b206a8f3c670c5b307ebfe&stat=instructions:u) |
| 102 | + |
| 103 | +| | mean | max | count | |
| 104 | +|:----------:|:----:|:---:|:-----:| |
| 105 | +| Regressions πΏ <br /> (primary) | 0.6% | 1.6% | 5 | |
| 106 | +| Regressions πΏ <br /> (secondary) | 0.5% | 0.8% | 17 | |
| 107 | +| Improvements π <br /> (primary) | -0.5% | -0.5% | 1 | |
| 108 | +| Improvements π <br /> (secondary) | -1.2% | -1.7% | 8 | |
| 109 | +| All πΏπ (primary) | 0.4% | 1.6% | 6 | |
| 110 | +- Some light investigation from Oli [already done](https://github.com/rust-lang/rust/pull/95576#issuecomment-1161901041). |
| 111 | +- Seems like we're spending a bit more time in trait obligation resolution |
| 112 | +- Asked Oli whether [this is acceptable](https://github.com/rust-lang/rust/pull/95576#issuecomment-1168899350). |
| 113 | + |
| 114 | + |
| 115 | +Rollup of 6 pull requests [#98359](https://github.com/rust-lang/rust/pull/98359) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=dc80ca78b6ec2b6bba02560470347433bcd0bb3c&end=a09c668c965f735f4cd59e7158662b9daa0b71ba&stat=instructions:u) |
| 116 | + |
| 117 | +| | mean | max | count | |
| 118 | +|:----------:|:----:|:---:|:-----:| |
| 119 | +| Regressions πΏ <br /> (primary) | 0.8% | 1.0% | 6 | |
| 120 | +| Regressions πΏ <br /> (secondary) | N/A | N/A | 0 | |
| 121 | +| Improvements π <br /> (primary) | -0.3% | -0.6% | 14 | |
| 122 | +| Improvements π <br /> (secondary) | N/A | N/A | 0 | |
| 123 | +| All πΏπ (primary) | 0.0% | 1.0% | 20 | |
| 124 | +- By in large, a wash in terms of change to overall performance. |
| 125 | +- The regressions are contained to diesel. |
| 126 | +- If I had to guess about a place to investigate, it would be [#87867](https://github.com/rust-lang/rust/pull/97867), but it might not be worth the effort. |
| 127 | + |
| 128 | + |
| 129 | +Rollup of 9 pull requests [#98447](https://github.com/rust-lang/rust/pull/98447) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d017d59ed013a4bc2431d023077eb7209fe9c60d&end=7036449c774860a5b348dbbe01c20704c557382e&stat=instructions:u) |
| 130 | + |
| 131 | +| | mean | max | count | |
| 132 | +|:----------:|:----:|:---:|:-----:| |
| 133 | +| Regressions πΏ <br /> (primary) | 2.1% | 2.1% | 1 | |
| 134 | +| Regressions πΏ <br /> (secondary) | N/A | N/A | 0 | |
| 135 | +| Improvements π <br /> (primary) | N/A | N/A | 0 | |
| 136 | +| Improvements π <br /> (secondary) | -0.3% | -0.3% | 1 | |
| 137 | +| All πΏπ (primary) | 2.1% | 2.1% | 1 | |
| 138 | +- The regressions are contained to only one test case (regex opt) in codegen related queries. |
| 139 | +- I didn't find any PRs that seemed like likely culprits. |
| 140 | + |
| 141 | + |
| 142 | +Improve `derive(Debug)` [#98190](https://github.com/rust-lang/rust/pull/98190) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7125846d17a549866aa1ed0ea28778537378fca8&end=788ddedb0d88e40db9cd62b6163d5a471813044b&stat=instructions:u) |
| 143 | + |
| 144 | +| | mean | max | count | |
| 145 | +|:----------:|:----:|:---:|:-----:| |
| 146 | +| Regressions πΏ <br /> (primary) | 0.5% | 0.6% | 4 | |
| 147 | +| Regressions πΏ <br /> (secondary) | 0.5% | 0.8% | 13 | |
| 148 | +| Improvements π <br /> (primary) | -1.0% | -5.3% | 120 | |
| 149 | +| Improvements π <br /> (secondary) | -1.8% | -10.3% | 69 | |
| 150 | +| All πΏπ (primary) | -1.0% | -5.3% | 124 | |
| 151 | +- Largely a very positive win. |
0 commit comments