|
| 1 | +# 2025-01-14 Triage Log |
| 2 | + |
| 3 | +A quiet week with little change to the actual compiler performance. The biggest compiler regression was quickly recognized and reverted. |
| 4 | + |
| 5 | +Triage done by **@rylev**. |
| 6 | +Revision range: [0f1e965f..1ab85fbd](https://perf.rust-lang.org/?start=0f1e965fec3bc2f97b932e9dd8e85fca6d7faadc&end=1ab85fbd7474e8ce84d5283548f21472860de3e2&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +**Summary**: |
| 9 | + |
| 10 | +| (instructions:u) | mean | range | count | |
| 11 | +|:----------------------------------:|:------:|:---------------:|:-----:| |
| 12 | +| Regressions ❌ <br /> (primary) | 0.4% | [0.1%, 1.8%] | 21 | |
| 13 | +| Regressions ❌ <br /> (secondary) | 0.5% | [0.0%, 2.0%] | 35 | |
| 14 | +| Improvements ✅ <br /> (primary) | -0.8% | [-2.7%, -0.3%] | 6 | |
| 15 | +| Improvements ✅ <br /> (secondary) | -10.2% | [-27.8%, -0.1%] | 13 | |
| 16 | +| All ❌✅ (primary) | 0.2% | [-2.7%, 1.8%] | 27 | |
| 17 | + |
| 18 | + |
| 19 | +4 Regressions, 3 Improvements, 3 Mixed; 3 of them in rollups |
| 20 | +44 artifact comparisons made in total |
| 21 | + |
| 22 | +#### Regressions |
| 23 | + |
| 24 | +Master bootstrap update [#135268](https://github.com/rust-lang/rust/pull/135268) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ec12cd8436aab693d8847b3077c26fe2de4ed661&end=251206c27b619ccf3a08e2ac4c525dc343f08492&stat=instructions:u) |
| 25 | + |
| 26 | +| (instructions:u) | mean | range | count | |
| 27 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 28 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 3 | |
| 29 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 30 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 31 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 32 | +| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 | |
| 33 | +- Probably just noise, and if not, it's not really worth investigating. |
| 34 | + |
| 35 | + |
| 36 | +mir_transform: implement `#[rustc_force_inline]` [#134082](https://github.com/rust-lang/rust/pull/134082) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=336209eef13882bd1e211b24779584cb7ef911eb&end=b1a7dfb91106018f47ed9dc9b27aee1977682868&stat=instructions:u) |
| 37 | + |
| 38 | +| (instructions:u) | mean | range | count | |
| 39 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 40 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.3%] | 10 | |
| 41 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.3%] | 15 | |
| 42 | +| Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 1 | |
| 43 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.4%, -0.3%] | 2 | |
| 44 | +| All ❌✅ (primary) | 0.2% | [-0.1%, 0.3%] | 11 | |
| 45 | +- Looks like some regressions snuck back in since the last run - I'm unsure if something happened in a rebase to reintroduce them. |
| 46 | +- The actual regressions are much smaller than the original perf run, and I don't think they're big enough to demand an investigation. |
| 47 | + |
| 48 | + |
| 49 | +Add #[inline] to copy_from_slice [#135384](https://github.com/rust-lang/rust/pull/135384) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=627513a764a696b59bb2679cc1731a197a088a1d&end=48a426eca9df23b24b3559e545cf88dee61d4de9&stat=instructions:u) |
| 50 | + |
| 51 | +| (instructions:u) | mean | range | count | |
| 52 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 53 | +| Regressions ❌ <br /> (primary) | 1.1% | [1.1%, 1.1%] | 1 | |
| 54 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 55 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 56 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 57 | +| All ❌✅ (primary) | 1.1% | [1.1%, 1.1%] | 1 | |
| 58 | +- From the PR "Small chaotic effect is expected, small binary size improvements oddly line up with the effect I was going for. Seems unlikely they're connected though, I wouldn't be surprised to see a different list of affected scenarios after merge." |
| 59 | + |
| 60 | + |
| 61 | +Rollup of 4 pull requests [#135438](https://github.com/rust-lang/rust/pull/135438) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2ae9916816a448fcaab3b2da461de754eda0055a&end=1ab85fbd7474e8ce84d5283548f21472860de3e2&stat=instructions:u) |
| 62 | + |
| 63 | +| (instructions:u) | mean | range | count | |
| 64 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 65 | +| Regressions ❌ <br /> (primary) | 0.4% | [0.4%, 0.4%] | 1 | |
| 66 | +| Regressions ❌ <br /> (secondary) | 1.2% | [0.9%, 1.6%] | 6 | |
| 67 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 68 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 | |
| 69 | +| All ❌✅ (primary) | 0.4% | [0.4%, 0.4%] | 1 | |
| 70 | + |
| 71 | + |
| 72 | +#### Improvements |
| 73 | + |
| 74 | +Rollup of 6 pull requests [#135260](https://github.com/rust-lang/rust/pull/135260) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a580b5c379b4fca50dfe5afc0fc0ce00921e4e00&end=e26ff2f9086fc449b963df578f8641c31846abe6&stat=instructions:u) |
| 75 | + |
| 76 | +| (instructions:u) | mean | range | count | |
| 77 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 78 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 79 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 80 | +| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.3%] | 4 | |
| 81 | +| Improvements ✅ <br /> (secondary) | -0.5% | [-0.5%, -0.5%] | 1 | |
| 82 | +| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 4 | |
| 83 | + |
| 84 | + |
| 85 | +Remove special-casing for argument patterns in MIR typeck (attempt to fix perf regression of #133858) [#135273](https://github.com/rust-lang/rust/pull/135273) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67951d946a158bc70949150ca06265e912752096&end=b44e14f762fd4062faeba97f8f2bc470298ec1ac&stat=instructions:u) |
| 86 | + |
| 87 | +| (instructions:u) | mean | range | count | |
| 88 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 89 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 90 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 91 | +| Improvements ✅ <br /> (primary) | -3.0% | [-17.4%, -0.2%] | 16 | |
| 92 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 93 | +| All ❌✅ (primary) | -3.0% | [-17.4%, -0.2%] | 16 | |
| 94 | + |
| 95 | + |
| 96 | +Add an InstSimplify for repetitive array expressions [#135274](https://github.com/rust-lang/rust/pull/135274) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2d7c8144f3f237612b37420fe2b6b08408d5b1d&end=7e4077d06fc073442c567d58885b47ed2c5121b8&stat=instructions:u) |
| 97 | + |
| 98 | +| (instructions:u) | mean | range | count | |
| 99 | +|:----------------------------------:|:------:|:---------------:|:-----:| |
| 100 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 101 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 102 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 103 | +| Improvements ✅ <br /> (secondary) | -14.7% | [-27.9%, -1.3%] | 9 | |
| 104 | +| All ❌✅ (primary) | - | - | 0 | |
| 105 | + |
| 106 | + |
| 107 | +#### Mixed |
| 108 | + |
| 109 | +`best_blame_constraint`: Blame better constraints when the region graph has cycles from invariance or `'static` [#133858](https://github.com/rust-lang/rust/pull/133858) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c87288a7d2f03625a813df6d3bfe43c09ad4f5a&end=6afee111c2faf86ba884ea748967130abad37b52&stat=instructions:u) |
| 110 | + |
| 111 | +| (instructions:u) | mean | range | count | |
| 112 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 113 | +| Regressions ❌ <br /> (primary) | 3.2% | [0.1%, 21.0%] | 17 | |
| 114 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 115 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 116 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 | |
| 117 | +| All ❌✅ (primary) | 3.2% | [0.1%, 21.0%] | 17 | |
| 118 | +- Partially reverted in https://github.com/rust-lang/rust/pull/135273 |
| 119 | + |
| 120 | + |
| 121 | +[mir-opt] GVN some more transmute cases [#133324](https://github.com/rust-lang/rust/pull/133324) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=65d7296fc9868af121adb5e07358a3815a80a7a1&end=b6b8361bce8561fb8786ad33ca1abfdf4bc487b6&stat=instructions:u) |
| 122 | + |
| 123 | +| (instructions:u) | mean | range | count | |
| 124 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 125 | +| Regressions ❌ <br /> (primary) | 0.7% | [0.1%, 1.4%] | 3 | |
| 126 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 127 | +| Improvements ✅ <br /> (primary) | -0.6% | [-3.0%, -0.2%] | 11 | |
| 128 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.5%, -0.2%] | 7 | |
| 129 | +| All ❌✅ (primary) | -0.3% | [-3.0%, 1.4%] | 14 | |
| 130 | +- [Original perf run was deemed acceptable](https://github.com/rust-lang/rust/pull/133324#issuecomment-2520872151) and the final perf run wasn't as bad. |
| 131 | + |
| 132 | + |
| 133 | +Rollup of 6 pull requests [#135357](https://github.com/rust-lang/rust/pull/135357) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7e4077d06fc073442c567d58885b47ed2c5121b8&end=ce55b2052db2c9d6deb2dbc5cb2f56d163515a99&stat=instructions:u) |
| 134 | + |
| 135 | +| (instructions:u) | mean | range | count | |
| 136 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 137 | +| Regressions ❌ <br /> (primary) | 0.4% | [0.3%, 0.6%] | 4 | |
| 138 | +| Regressions ❌ <br /> (secondary) | 0.9% | [0.2%, 2.0%] | 7 | |
| 139 | +| Improvements ✅ <br /> (primary) | -0.5% | [-0.5%, -0.5%] | 1 | |
| 140 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 141 | +| All ❌✅ (primary) | 0.2% | [-0.5%, 0.6%] | 5 | |
| 142 | + |
0 commit comments