|
| 1 | +# 2024-07-09 Triage Log |
| 2 | + |
| 3 | +More regressions than improvements this week, caused by a combination of fixes, |
| 4 | +refactorings, third-party dependency updates and in general the compiler doing |
| 5 | +slightly more work. |
| 6 | + |
| 7 | +Triage done by **@kobzol**. |
| 8 | +Revision |
| 9 | +range: [cf2df68d..a2d58197](https://perf.rust-lang.org/?start=cf2df68d1f5e56803c97d91e2b1a9f1c9923c533&end=a2d58197a766085856504328948c89a33a6a36e8&absolute=false&stat=instructions%3Au) |
| 10 | + |
| 11 | +**Summary**: |
| 12 | + |
| 13 | +| (instructions:u) | mean | range | count | |
| 14 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 15 | +| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 2.5%] | 53 | |
| 16 | +| Regressions ❌ <br /> (secondary) | 1.0% | [0.4%, 1.5%] | 31 | |
| 17 | +| Improvements ✅ <br /> (primary) | -0.6% | [-1.2%, -0.2%] | 10 | |
| 18 | +| Improvements ✅ <br /> (secondary) | -1.7% | [-2.4%, -1.4%] | 4 | |
| 19 | +| All ❌✅ (primary) | 0.5% | [-1.2%, 2.5%] | 63 | |
| 20 | + |
| 21 | +1 Regression, 2 Improvements, 7 Mixed; 3 of them in rollups |
| 22 | +62 artifact comparisons made in total |
| 23 | + |
| 24 | +#### Regressions |
| 25 | + |
| 26 | +Make `can_eq` process obligations (almost) |
| 27 | +everywhere [#127172](https://github.com/rust-lang/rust/pull/127172) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=20ae37c18df95f9246c019b04957d23b4164bf7a&end=89aefb9c53090851be903b5a9171a2efdc3fd16f&stat=instructions:u) |
| 28 | + |
| 29 | +| (instructions:u) | mean | range | count | |
| 30 | +|:---------------------------------:|:----:|:------------:|:-----:| |
| 31 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.6%] | 25 | |
| 32 | +| Regressions ❌ <br /> (secondary) | 0.8% | [0.7%, 0.9%] | 7 | |
| 33 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 34 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 35 | +| All ❌✅ (primary) | 0.3% | [0.2%, 0.6%] | 25 | |
| 36 | + |
| 37 | +- Small regression across several benchmarks. |
| 38 | +- Not marking as triaged yet, https://github.com/rust-lang/rust/pull/127473 has been |
| 39 | + opened to investigate a potential performance fix. |
| 40 | + |
| 41 | +#### Improvements |
| 42 | + |
| 43 | +Make jump threading state |
| 44 | +sparse [#127036](https://github.com/rust-lang/rust/pull/127036) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1cfd47fe0b78f48a04ac8fce792a406b638da40b&end=2b90614e94cfb400820cfc10fe63b0db74f9e67a&stat=instructions:u) |
| 45 | + |
| 46 | +| (instructions:u) | mean | range | count | |
| 47 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 48 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 49 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 50 | +| Improvements ✅ <br /> (primary) | -0.8% | [-1.1%, -0.5%] | 5 | |
| 51 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | |
| 52 | +| All ❌✅ (primary) | -0.8% | [-1.1%, -0.5%] | 5 | |
| 53 | + |
| 54 | +Cache hir_owner_nodes in |
| 55 | +ParentHirIterator. [#127421](https://github.com/rust-lang/rust/pull/127421) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=89aefb9c53090851be903b5a9171a2efdc3fd16f&end=b1de36ff34a4fe4ba820f195481a13aee74e1358&stat=instructions:u) |
| 56 | + |
| 57 | +| (instructions:u) | mean | range | count | |
| 58 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 59 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 60 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 61 | +| Improvements ✅ <br /> (primary) | -0.3% | [-1.0%, -0.2%] | 16 | |
| 62 | +| Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 3 | |
| 63 | +| All ❌✅ (primary) | -0.3% | [-1.0%, -0.2%] | 16 | |
| 64 | + |
| 65 | +#### Mixed |
| 66 | + |
| 67 | +Check alias args for WF even if they have escaping bound |
| 68 | +vars [#123737](https://github.com/rust-lang/rust/pull/123737) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67f0d43890801f50ef2d24cd66de523f89ccb157&end=d163e5e515d470a713f7d6907852904622a85d4e&stat=instructions:u) |
| 69 | + |
| 70 | +| (instructions:u) | mean | range | count | |
| 71 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 72 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.5%, 0.5%] | 1 | |
| 73 | +| Regressions ❌ <br /> (secondary) | 0.7% | [0.4%, 1.1%] | 4 | |
| 74 | +| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 2 | |
| 75 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 76 | +| All ❌✅ (primary) | 0.0% | [-0.2%, 0.5%] | 3 | |
| 77 | + |
| 78 | +- This change is required for further improvements of the type system, the compiler does a bit more work. |
| 79 | +- The regression is limited to one stress test and one cargo benchmark. |
| 80 | +- Marked as triaged. |
| 81 | + |
| 82 | +Re-implement a type-size based |
| 83 | +limit [#125507](https://github.com/rust-lang/rust/pull/125507) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2db4ff40af2b9f93b6240dbd67ed7f2f34b19776&end=c872a1418a4be3ea84a8d5232238b60d35339ba9&stat=instructions:u) |
| 84 | + |
| 85 | +| (instructions:u) | mean | range | count | |
| 86 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 87 | +| Regressions ❌ <br /> (primary) | 1.3% | [0.3%, 1.9%] | 5 | |
| 88 | +| Regressions ❌ <br /> (secondary) | 0.9% | [0.9%, 0.9%] | 1 | |
| 89 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 90 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | |
| 91 | +| All ❌✅ (primary) | 1.3% | [0.3%, 1.9%] | 5 | |
| 92 | + |
| 93 | +- This PR re-enabled a type size limit check that was not working for a long time. |
| 94 | +- It heavily regressed a stress test that contains very deeply nested types, this regression |
| 95 | + has been resolved in https://github.com/rust-lang/rust/pull/127288. |
| 96 | +- It seems like the PR is causing issues for various projects, and it might be reverted, but |
| 97 | + the perf. regression itself has been fixed by https://github.com/rust-lang/rust/pull/127288. |
| 98 | +- Marked as triaged. |
| 99 | + |
| 100 | +rustdoc: update to pulldown-cmark |
| 101 | +0.11 [#127127](https://github.com/rust-lang/rust/pull/127127) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b45401283fad51849dbb37d78f0b2093a21fb58f&end=66b4f0021bfb11a8c20d084c99a40f4a78ce1d38&stat=instructions:u) |
| 102 | + |
| 103 | +| (instructions:u) | mean | range | count | |
| 104 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 105 | +| Regressions ❌ <br /> (primary) | 0.8% | [0.2%, 1.8%] | 16 | |
| 106 | +| Regressions ❌ <br /> (secondary) | 0.5% | [0.3%, 0.6%] | 7 | |
| 107 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 108 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | |
| 109 | +| All ❌✅ (primary) | 0.8% | [0.2%, 1.8%] | 16 | |
| 110 | + |
| 111 | +- This PR updated the used version of `pulldown-cmark`, which resolves several bugs in handling doc blocks. |
| 112 | +- It caused a small regression in `doc` builds. |
| 113 | +- Marked as triaged. |
| 114 | + |
| 115 | +cache type sizes in type-size limit |
| 116 | +visitor [#127288](https://github.com/rust-lang/rust/pull/127288) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c4225812973cee4bba952cbf7a421f69871fed0d&end=cc8da78a036dc3c15c35a97651b02af9a6d30c1e&stat=instructions:u) |
| 117 | + |
| 118 | +| (instructions:u) | mean | range | count | |
| 119 | +|:---------------------------------:|:------:|:---------------:|:-----:| |
| 120 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.3%] | 9 | |
| 121 | +| Regressions ❌ <br /> (secondary) | 0.7% | [0.6%, 0.8%] | 3 | |
| 122 | +| Improvements ✅ <br /> (primary) | -1.3% | [-1.6%, -0.4%] | 4 | |
| 123 | +| Improvements ✅ <br /> (secondary) | -85.4% | [-99.8%, -1.9%] | 7 | |
| 124 | +| All ❌✅ (primary) | -0.2% | [-1.6%, 0.3%] | 13 | |
| 125 | + |
| 126 | +- Resolved a perf. regression from https://github.com/rust-lang/rust/pull/125507. |
| 127 | + |
| 128 | +Rollup of 8 pull |
| 129 | +requests [#127403](https://github.com/rust-lang/rust/pull/127403) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5c08cc765af9975d4b176f7a377bbf927791e20d&end=51917e2e69702e5752bce6a4f3bfd285d0f4ae39&stat=instructions:u) |
| 130 | + |
| 131 | +| (instructions:u) | mean | range | count | |
| 132 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 133 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.3%] | 3 | |
| 134 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 135 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 136 | +| Improvements ✅ <br /> (secondary) | -0.9% | [-1.3%, -0.6%] | 9 | |
| 137 | +| All ❌✅ (primary) | 0.2% | [0.2%, 0.3%] | 3 | |
| 138 | + |
| 139 | +- Small regression on a single benchmark, but only in incremental unchanged build. |
| 140 | +- Improvements outweigh the regressions. |
| 141 | +- Marked as triaged. |
| 142 | + |
| 143 | +Rollup of 10 pull |
| 144 | +requests [#127476](https://github.com/rust-lang/rust/pull/127476) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9af6fee87de71729efca7dbb61c0931180895424&end=7fdefb804ec300fb605039522a7c0dfc9e7dc366&stat=instructions:u) |
| 145 | + |
| 146 | +| (instructions:u) | mean | range | count | |
| 147 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 148 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.2%, 1.7%] | 15 | |
| 149 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.7%] | 3 | |
| 150 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 151 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | |
| 152 | +| All ❌✅ (primary) | 0.5% | [0.2%, 1.7%] | 15 | |
| 153 | + |
| 154 | +- Small regressions on `doc` builds caused by https://github.com/rust-lang/rust/pull/127439. |
| 155 | +- This is a necessary refactoring, and the author has deemed the small perf. hit to be worth it. |
| 156 | +- Marked as triaged. |
| 157 | + |
| 158 | +Rollup of 5 pull |
| 159 | +requests [#127486](https://github.com/rust-lang/rust/pull/127486) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cfd7cf5a0e497c238dcf9947e2eeec01837beeb4&end=a06e9c83f6bc6b9b69f1b0d9f1ab659f8f03db4d&stat=instructions:u) |
| 160 | + |
| 161 | +| (instructions:u) | mean | range | count | |
| 162 | +|:---------------------------------:|:-----:|:--------------:|:-----:| |
| 163 | +| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 0.4%] | 7 | |
| 164 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 | |
| 165 | +| Improvements ✅ <br /> (primary) | -0.8% | [-0.8%, -0.8%] | 1 | |
| 166 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 167 | +| All ❌✅ (primary) | 0.2% | [-0.8%, 0.4%] | 8 | |
| 168 | + |
| 169 | +- Unclear which PR has caused the (small) regression. |
| 170 | +- Not marking as triaged yet. |
0 commit comments