|
| 1 | +# 2024-01-16 Triage Log |
| 2 | + |
| 3 | +TODO: Summary |
| 4 | + |
| 5 | +Triage done by **@???**. |
| 6 | +Revision range: [76101eecbe9aa80753664bbe637ad06d1925f315..f9c2421a2a6e34f3756900dd7d600704c08bfccb](https://perf.rust-lang.org/?start=76101eecbe9aa80753664bbe637ad06d1925f315&end=f9c2421a2a6e34f3756900dd7d600704c08bfccb&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +**Summary**: |
| 9 | + |
| 10 | +| (instructions:u) | mean | range | count | |
| 11 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 12 | +| Regressions ❌ <br /> (primary) | 0.7% | [0.6%, 0.7%] | 2 | |
| 13 | +| Regressions ❌ <br /> (secondary) | 3.1% | [0.8%, 4.1%] | 9 | |
| 14 | +| Improvements ✅ <br /> (primary) | -1.2% | [-20.6%, -0.2%] | 133 | |
| 15 | +| Improvements ✅ <br /> (secondary) | -0.8% | [-7.3%, -0.1%] | 31 | |
| 16 | +| All ❌✅ (primary) | -1.2% | [-20.6%, 0.7%] | 135 | |
| 17 | + |
| 18 | + |
| 19 | +3 Regressions, 5 Improvements, 5 Mixed; ??? of them in rollups |
| 20 | +55 artifact comparisons made in total |
| 21 | + |
| 22 | +#### Regressions |
| 23 | + |
| 24 | +Rollup of 10 pull requests [#119754](https://github.com/rust-lang/rust/pull/119754) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ca663b06c5492ac2dde5e53cd11579fa8e4d68bd&end=d6affcf520091fd0f48df1a2b6bfcb9ef48e0f40&stat=instructions:u) |
| 25 | + |
| 26 | +| (instructions:u) | mean | range | count | |
| 27 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 28 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 29 | +| Regressions ❌ <br /> (secondary) | 2.4% | [2.4%, 2.4%] | 2 | |
| 30 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 31 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 32 | +| All ❌✅ (primary) | - | - | 0 | |
| 33 | + |
| 34 | + |
| 35 | +Exhaustiveness: use an `Option` instead of allocating fictitious patterns [#119688](https://github.com/rust-lang/rust/pull/119688) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2d9d73e608f1b24eba840c4fd2d68dbe3b65e01&end=0a8923361ec2a37fa341292c029ef7c6d0405d4b&stat=instructions:u) |
| 36 | + |
| 37 | +| (instructions:u) | mean | range | count | |
| 38 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 39 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 40 | +| Regressions ❌ <br /> (secondary) | 3.8% | [3.6%, 4.1%] | 6 | |
| 41 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 42 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 43 | +| All ❌✅ (primary) | - | - | 0 | |
| 44 | + |
| 45 | + |
| 46 | +never patterns: Check bindings wrt never patterns [#119610](https://github.com/rust-lang/rust/pull/119610) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bfcc027a751595ba290c554f47907eaa3779f798&end=714b29a17ff5fa727c794bbb60bfd335f8e75d42&stat=instructions:u) |
| 47 | + |
| 48 | +| (instructions:u) | mean | range | count | |
| 49 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 50 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.4%] | 3 | |
| 51 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 52 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 53 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 54 | +| All ❌✅ (primary) | 0.3% | [0.3%, 0.4%] | 3 | |
| 55 | + |
| 56 | + |
| 57 | +#### Improvements |
| 58 | + |
| 59 | +macro_rules: Add an expansion-local cache to span marker [#119693](https://github.com/rust-lang/rust/pull/119693) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=76101eecbe9aa80753664bbe637ad06d1925f315&end=0ee9cfd54db7b5f4be35f026588904500c866196&stat=instructions:u) |
| 60 | + |
| 61 | +| (instructions:u) | mean | range | count | |
| 62 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 63 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 64 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 65 | +| Improvements ✅ <br /> (primary) | -1.4% | [-20.5%, -0.2%] | 80 | |
| 66 | +| Improvements ✅ <br /> (secondary) | -0.8% | [-1.9%, -0.3%] | 16 | |
| 67 | +| All ❌✅ (primary) | -1.4% | [-20.5%, -0.2%] | 80 | |
| 68 | + |
| 69 | + |
| 70 | +A more efficient slice comparison implementation for T: !BytewiseEq [#116846](https://github.com/rust-lang/rust/pull/116846) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae9d24de80b00b4158d1a29a212a6b02aeda0e75&end=190f4c96116a3b59b7de4881cfec544be0246d84&stat=instructions:u) |
| 71 | + |
| 72 | +| (instructions:u) | mean | range | count | |
| 73 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 74 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 75 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 76 | +| Improvements ✅ <br /> (primary) | -0.5% | [-0.9%, -0.2%] | 15 | |
| 77 | +| Improvements ✅ <br /> (secondary) | -0.6% | [-0.6%, -0.6%] | 1 | |
| 78 | +| All ❌✅ (primary) | -0.5% | [-0.9%, -0.2%] | 15 | |
| 79 | + |
| 80 | + |
| 81 | +Remove a large amount of leb128-coded integers [#119791](https://github.com/rust-lang/rust/pull/119791) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d73bd3fb3ba312f3e6b5af4d56d1161d37b71620&end=68acb393c5d2cff049b41981e35217a7e630f63a&stat=instructions:u) |
| 82 | + |
| 83 | +| (instructions:u) | mean | range | count | |
| 84 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 85 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 86 | +| Regressions ❌ <br /> (secondary) | 1.1% | [1.1%, 1.1%] | 1 | |
| 87 | +| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.2%] | 5 | |
| 88 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.5%, -0.1%] | 12 | |
| 89 | +| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 5 | |
| 90 | + |
| 91 | + |
| 92 | +Exhaustiveness: track overlapping ranges precisely [#119396](https://github.com/rust-lang/rust/pull/119396) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bfd799f1a5a86d16e6b8caa2857bcb4aac6e0174&end=174e73a3f6df6f96ab453493796e461164dea94a&stat=instructions:u) |
| 93 | + |
| 94 | +| (instructions:u) | mean | range | count | |
| 95 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 96 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 97 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 98 | +| Improvements ✅ <br /> (primary) | -0.4% | [-1.7%, -0.2%] | 32 | |
| 99 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 100 | +| All ❌✅ (primary) | -0.4% | [-1.7%, -0.2%] | 32 | |
| 101 | + |
| 102 | + |
| 103 | +Rollup of 6 pull requests [#119889](https://github.com/rust-lang/rust/pull/119889) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=174e73a3f6df6f96ab453493796e461164dea94a&end=ce1f2ccf5a5ac9343623bd115a05e4151d93af0d&stat=instructions:u) |
| 104 | + |
| 105 | +| (instructions:u) | mean | range | count | |
| 106 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 107 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 108 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 109 | +| Improvements ✅ <br /> (primary) | -1.8% | [-1.9%, -1.7%] | 4 | |
| 110 | +| Improvements ✅ <br /> (secondary) | -4.3% | [-7.4%, -1.3%] | 2 | |
| 111 | +| All ❌✅ (primary) | -1.8% | [-1.9%, -1.7%] | 4 | |
| 112 | + |
| 113 | + |
| 114 | +#### Mixed |
| 115 | + |
| 116 | +Support async recursive calls (as long as they have indirection) [#117703](https://github.com/rust-lang/rust/pull/117703) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=387e7a5e42ac074e79a14361e82702a229a6aac8&end=dc641039d2b3f5c0894694e4b45f7c3951030685&stat=instructions:u) |
| 117 | + |
| 118 | +| (instructions:u) | mean | range | count | |
| 119 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 120 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 121 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 | |
| 122 | +| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.3%] | 3 | |
| 123 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 124 | +| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 3 | |
| 125 | + |
| 126 | + |
| 127 | +Rollup of 9 pull requests [#119767](https://github.com/rust-lang/rust/pull/119767) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=be00c5a9b89161b7f45ba80340f709e8e41122f9&end=5876c8cdfd3df742c334d6447d44d760c77103b6&stat=instructions:u) |
| 128 | + |
| 129 | +| (instructions:u) | mean | range | count | |
| 130 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 131 | +| Regressions ❌ <br /> (primary) | 1.3% | [0.4%, 2.3%] | 2 | |
| 132 | +| Regressions ❌ <br /> (secondary) | 0.9% | [0.5%, 1.2%] | 2 | |
| 133 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 134 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | |
| 135 | +| All ❌✅ (primary) | 1.3% | [0.4%, 2.3%] | 2 | |
| 136 | + |
| 137 | + |
| 138 | +Add assume into `NonZeroIntX::get` [#119452](https://github.com/rust-lang/rust/pull/119452) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ce1f2ccf5a5ac9343623bd115a05e4151d93af0d&end=2319be8e265dd19973574eb581d28297baf44b11&stat=instructions:u) |
| 139 | + |
| 140 | +| (instructions:u) | mean | range | count | |
| 141 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 142 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.4%, 0.9%] | 4 | |
| 143 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 144 | +| Improvements ✅ <br /> (primary) | -0.7% | [-0.7%, -0.7%] | 1 | |
| 145 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 146 | +| All ❌✅ (primary) | 0.3% | [-0.7%, 0.9%] | 5 | |
| 147 | + |
| 148 | + |
| 149 | +Avoid some redundant work in GVN [#119439](https://github.com/rust-lang/rust/pull/119439) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=714b29a17ff5fa727c794bbb60bfd335f8e75d42&end=f9c2421a2a6e34f3756900dd7d600704c08bfccb&stat=instructions:u) |
| 150 | + |
| 151 | +| (instructions:u) | mean | range | count | |
| 152 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 153 | +| Regressions ❌ <br /> (primary) | 0.8% | [0.6%, 0.9%] | 4 | |
| 154 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 155 | +| Improvements ✅ <br /> (primary) | -0.7% | [-1.1%, -0.5%] | 4 | |
| 156 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 1 | |
| 157 | +| All ❌✅ (primary) | 0.0% | [-1.1%, 0.9%] | 8 | |
| 158 | + |
| 159 | + |
| 160 | +Sandwich MIR optimizations between DSE. [#119672](https://github.com/rust-lang/rust/pull/119672) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f9c2421a2a6e34f3756900dd7d600704c08bfccb&end=fa0dc208d0a34027c1d3cca7d47975d8238bcfde&stat=instructions:u) |
| 161 | + |
| 162 | +| (instructions:u) | mean | range | count | |
| 163 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 164 | +| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 1.4%] | 14 | |
| 165 | +| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 2.7%] | 14 | |
| 166 | +| Improvements ✅ <br /> (primary) | -1.0% | [-2.2%, -0.2%] | 31 | |
| 167 | +| Improvements ✅ <br /> (secondary) | -0.9% | [-2.2%, -0.2%] | 10 | |
| 168 | +| All ❌✅ (primary) | -0.4% | [-2.2%, 1.4%] | 45 | |
| 169 | + |
| 170 | + |
| 171 | +#### Untriaged Pull Requests |
| 172 | + |
| 173 | +- [#119767 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/119767) |
| 174 | +- [#119754 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/119754) |
| 175 | +- [#119688 Exhaustiveness: use an `Option` instead of allocating fictitious patterns](https://github.com/rust-lang/rust/pull/119688) |
| 176 | +- [#119662 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/119662) |
| 177 | +- [#119610 never patterns: Check bindings wrt never patterns](https://github.com/rust-lang/rust/pull/119610) |
| 178 | +- [#119452 Add assume into `NonZeroIntX::get`](https://github.com/rust-lang/rust/pull/119452) |
| 179 | +- [#119439 Avoid some redundant work in GVN](https://github.com/rust-lang/rust/pull/119439) |
| 180 | +- [#119204 macro_rules: Less hacky heuristic for using `tt` metavariable spans](https://github.com/rust-lang/rust/pull/119204) |
| 181 | +- [#119002 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/119002) |
| 182 | +- [#118661 Restore `const PartialEq`](https://github.com/rust-lang/rust/pull/118661) |
| 183 | +- [#118473 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/118473) |
| 184 | +- [#118420 Introduce support for `async gen` blocks](https://github.com/rust-lang/rust/pull/118420) |
| 185 | +- [#118405 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/118405) |
| 186 | +- [#118319 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/118319) |
| 187 | +- [#118308 Don't warn an empty pattern unreachable if we're not sure the data is valid](https://github.com/rust-lang/rust/pull/118308) |
| 188 | +- [#117769 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/117769) |
| 189 | +- [#117736 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/117736) |
| 190 | +- [#117703 Support async recursive calls (as long as they have indirection)](https://github.com/rust-lang/rust/pull/117703) |
| 191 | +- [#117213 Reorder check_item_type diagnostics so they occur next to the corresponding `check_well_formed` diagnostics](https://github.com/rust-lang/rust/pull/117213) |
| 192 | +- [#117180 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/117180) |
| 193 | +- [#116940 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/116940) |
| 194 | +- [#116915 Add an assume that the index is inbounds to slice::get_unchecked](https://github.com/rust-lang/rust/pull/116915) |
| 195 | +- [#116889 Eat close paren if capture_cfg to avoid unbalanced parens](https://github.com/rust-lang/rust/pull/116889) |
| 196 | +- [#116492 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/116492) |
| 197 | +- [#116391 exhaustiveness: Rework constructor splitting](https://github.com/rust-lang/rust/pull/116391) |
| 198 | +- [#116183 Always preserve DebugInfo in DeadStoreElimination.](https://github.com/rust-lang/rust/pull/116183) |
| 199 | +- [#116033 report `unused_import` for empty reexports even it is pub](https://github.com/rust-lang/rust/pull/116033) |
| 200 | +- [#115762 Explain revealing of opaque types in layout_of ParamEnv](https://github.com/rust-lang/rust/pull/115762) |
| 201 | +- [#115751 some inspect improvements](https://github.com/rust-lang/rust/pull/115751) |
| 202 | +- [#115740 Cache reachable_set on disk](https://github.com/rust-lang/rust/pull/115740) |
| 203 | + |
| 204 | +#### Nags requiring follow up |
| 205 | + |
| 206 | +TODO: Nags |
| 207 | + |
0 commit comments