|
| 1 | +# 2025-12-29 Triage Log |
| 2 | + |
| 3 | +Not a lot of changes this week. Overall result is positive, largely thanks to https://github.com/rust-lang/rust/pull/142881, which makes computing an expensive data structure for JumpThreading MIR optimization lazy. |
| 4 | + |
| 5 | +Triage done by **@panstromek**. |
| 6 | +Revision range: [e1212ea7..112a2742](https://perf.rust-lang.org/?start=e1212ea79b38d51954625291c04d2797c4bb8ec5&end=112a274275d77ebc2b892f056a1e2fad141f4f08&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +**Summary**: |
| 9 | + |
| 10 | +| (instructions:u) | mean | range | count | |
| 11 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 12 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.1%, 1.7%] | 11 | |
| 13 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.5%] | 6 | |
| 14 | +| Improvements ✅ <br /> (primary) | -0.5% | [-1.3%, -0.1%] | 74 | |
| 15 | +| Improvements ✅ <br /> (secondary) | -0.6% | [-1.8%, -0.2%] | 71 | |
| 16 | +| All ❌✅ (primary) | -0.4% | [-1.3%, 1.7%] | 85 | |
| 17 | + |
| 18 | + |
| 19 | +2 Regressions, 0 Improvements, 3 Mixed; 1 of them in rollups |
| 20 | +37 artifact comparisons made in total |
| 21 | + |
| 22 | +#### Regressions |
| 23 | + |
| 24 | +Add `MaybeDangling` to `core` [#149775](https://github.com/rust-lang/rust/pull/149775) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c7aa99f36ccad2c127edec5be493cab0b152f436&end=08509492139968a96a005ba811a995e2f1d6a2ac&stat=instructions:u) |
| 25 | + |
| 26 | +| (instructions:u) | mean | range | count | |
| 27 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 28 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.6%] | 9 | |
| 29 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.5%] | 7 | |
| 30 | +| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 | |
| 31 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 32 | +| All ❌✅ (primary) | 0.2% | [-0.3%, 0.6%] | 10 | |
| 33 | + |
| 34 | +Incremental regressions look real, the other ones might be noise. Asked on the PR whether this is expected. |
| 35 | + |
| 36 | +Rollup of 8 pull requests [#150469](https://github.com/rust-lang/rust/pull/150469) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=21cf7fb3ff9159b0b562431312969dd548ae8782&end=7fefa09b90ca57b8a0e0e4717d672d38a0ae58b5&stat=instructions:u) |
| 37 | + |
| 38 | +| (instructions:u) | mean | range | count | |
| 39 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 40 | +| Regressions ❌ <br /> (primary) | 0.1% | [0.1%, 0.2%] | 3 | |
| 41 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.3%] | 12 | |
| 42 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 43 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 44 | +| All ❌✅ (primary) | 0.1% | [0.1%, 0.2%] | 3 | |
| 45 | + |
| 46 | +Caused by https://github.com/rust-lang/rust/pull/148321, already triaged by @JonathanBrouwer |
| 47 | + |
| 48 | +#### Improvements |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +#### Mixed |
| 53 | + |
| 54 | +rustdoc: upgrade to stringdex 0.0.4 [#150217](https://github.com/rust-lang/rust/pull/150217) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4f14395c37db4c1be874e6b0ace6721674223c22&end=a0c97e3255e2b9140f131baec1c93eef57640d21&stat=instructions:u) |
| 55 | + |
| 56 | +| (instructions:u) | mean | range | count | |
| 57 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 58 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 59 | +| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 | |
| 60 | +| Improvements ✅ <br /> (primary) | -0.5% | [-0.7%, -0.3%] | 2 | |
| 61 | +| Improvements ✅ <br /> (secondary) | -1.0% | [-1.0%, -1.0%] | 1 | |
| 62 | +| All ❌✅ (primary) | -0.5% | [-0.7%, -0.3%] | 2 | |
| 63 | + |
| 64 | +Regression is noise, triaged by @Kobzol |
| 65 | + |
| 66 | +MGCA: Support struct expressions without intermediary anon consts [#149114](https://github.com/rust-lang/rust/pull/149114) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2ca7bcd03b87b52f7055a59b817443b0ac4a530d&end=8796b3b8b4ac6f38a80bf80ce89dd7bd7f92edd7&stat=instructions:u) |
| 67 | + |
| 68 | +| (instructions:u) | mean | range | count | |
| 69 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 70 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.3%] | 7 | |
| 71 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 72 | +| Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 1 | |
| 73 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.7%, -0.1%] | 19 | |
| 74 | +| All ❌✅ (primary) | 0.2% | [-0.1%, 0.3%] | 8 | |
| 75 | + |
| 76 | +Regression is expected, matches pre-merge results, should be addressed by followup work, IIUC from the PR description. |
| 77 | + |
| 78 | +JumpThreading: compute place and value indices on-demand [#142881](https://github.com/rust-lang/rust/pull/142881) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=38ed7700e7ba3adb7af96e3dcb2ba6dfa3a0c951&end=c7aa99f36ccad2c127edec5be493cab0b152f436&stat=instructions:u) |
| 79 | + |
| 80 | +| (instructions:u) | mean | range | count | |
| 81 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 82 | +| Regressions ❌ <br /> (primary) | 1.4% | [1.4%, 1.4%] | 1 | |
| 83 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 84 | +| Improvements ✅ <br /> (primary) | -0.4% | [-1.4%, -0.2%] | 117 | |
| 85 | +| Improvements ✅ <br /> (secondary) | -0.5% | [-1.9%, -0.1%] | 93 | |
| 86 | +| All ❌✅ (primary) | -0.4% | [-1.4%, 1.4%] | 118 | |
| 87 | + |
| 88 | +Already triaged by @lqd: "Improvements in icounts heavily outweigh the one regression (which is also a proc-macro in an opt scenario: not a default cargo config)" |
0 commit comments