|
| 1 | +# 2025-04-22 Triage Log |
| 2 | + |
| 3 | +Mostly positive week. Most of the improvements come from a revert of a regression from a few weeks ago, but we also get nice wins from re-using Sized fast-path, coming from Sized hierarchy implementation work. |
| 4 | + |
| 5 | +Triage done by **@panstromek**. |
| 6 | +Revision range: [15f58c46..8f2819b0](https://perf.rust-lang.org/?start=15f58c46da79399961a09db0c650a2f90f442e6b&end=8f2819b0e3428d0aee05fa60e91e0211c2aea053&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +**Summary**: |
| 9 | + |
| 10 | +| (instructions:u) | mean | range | count | |
| 11 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 12 | +| Regressions ❌ <br /> (primary) | 1.3% | [0.4%, 2.1%] | 7 | |
| 13 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 14 | +| Improvements ✅ <br /> (primary) | -1.0% | [-12.9%, -0.1%] | 144 | |
| 15 | +| Improvements ✅ <br /> (secondary) | -2.2% | [-12.3%, -0.2%] | 111 | |
| 16 | +| All ❌✅ (primary) | -0.9% | [-12.9%, 2.1%] | 151 | |
| 17 | + |
| 18 | + |
| 19 | +0 Regressions, 4 Improvements, 2 Mixed; 3 of them in rollups |
| 20 | +35 artifact comparisons made in total |
| 21 | + |
| 22 | +#### Regressions |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +#### Improvements |
| 27 | + |
| 28 | +re-use `Sized` fast-path [#139577](https://github.com/rust-lang/rust/pull/139577) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=990039ec53d5bffe0ec77391e00f0e5be05924e8&end=2da29dbe8fe23df1c7c4ab1d8740ca3c32b15526&stat=instructions:u) |
| 29 | + |
| 30 | +| (instructions:u) | mean | range | count | |
| 31 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 32 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 33 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 34 | +| Improvements ✅ <br /> (primary) | -0.6% | [-1.2%, -0.3%] | 55 | |
| 35 | +| Improvements ✅ <br /> (secondary) | -2.1% | [-12.2%, -0.4%] | 44 | |
| 36 | +| All ❌✅ (primary) | -0.6% | [-1.2%, -0.3%] | 55 | |
| 37 | + |
| 38 | + |
| 39 | +Rollup of 17 pull requests [#139845](https://github.com/rust-lang/rust/pull/139845) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=58c2dd9a54a325f4ce96f70332ceb07a3b58f0e5&end=f433fa46b0fd27d35219357ad75f54d294081bc4&stat=instructions:u) |
| 40 | + |
| 41 | +| (instructions:u) | mean | range | count | |
| 42 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 43 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 44 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 45 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 46 | +| Improvements ✅ <br /> (secondary) | -1.1% | [-1.7%, -0.2%] | 9 | |
| 47 | +| All ❌✅ (primary) | - | - | 0 | |
| 48 | + |
| 49 | +Unexpected improvement on `many-assoc-items` stress test. **@Zalathar** identified the cause as [#139669] (https://github.com/rust-lang/rust/pull/139669). |
| 50 | + |
| 51 | + |
| 52 | +Revert "Deduplicate template parameter creation" [#139878](https://github.com/rust-lang/rust/pull/139878) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=38c560ae681d5c0d3fd615eaedc537a282fb1086&end=cacb9eed381ed19ba936fc019d63d9b9e694007e&stat=instructions:u) |
| 53 | + |
| 54 | +| (instructions:u) | mean | range | count | |
| 55 | +|:----------------------------------:|:-----:|:---------------:|:-----:| |
| 56 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 57 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 58 | +| Improvements ✅ <br /> (primary) | -5.8% | [-12.9%, -0.6%] | 11 | |
| 59 | +| Improvements ✅ <br /> (secondary) | -2.9% | [-8.7%, -0.3%] | 34 | |
| 60 | +| All ❌✅ (primary) | -5.8% | [-12.9%, -0.6%] | 11 | |
| 61 | + |
| 62 | +Reverts previously triaged regression from roughly a month ago. |
| 63 | + |
| 64 | +Rollup of 8 pull requests [#140043](https://github.com/rust-lang/rust/pull/140043) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=90fd16eb5be9255006c95e8af12a0d43854dc1a9&end=49e5e4e3a5610c240a717cb99003a5d5d3356679&stat=instructions:u) |
| 65 | + |
| 66 | +| (instructions:u) | mean | range | count | |
| 67 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 68 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 69 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 70 | +| Improvements ✅ <br /> (primary) | -0.6% | [-1.2%, -0.3%] | 19 | |
| 71 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 72 | +| All ❌✅ (primary) | -0.6% | [-1.2%, -0.3%] | 19 | |
| 73 | + |
| 74 | +All improvements are on bitmaps (both 3.1 and updated 3.2.1 versions). Looks a bit unexpected. Could be a type system fix in [#139762](https://github.com/rust-lang/rust/pull/139762), which is the only change that seems relevant. |
| 75 | + |
| 76 | +#### Mixed |
| 77 | + |
| 78 | +Remove `Nonterminal` and `TokenKind::Interpolated` [#124141](https://github.com/rust-lang/rust/pull/124141) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=15f58c46da79399961a09db0c650a2f90f442e6b&end=f836ae4e663b6e8938096b8559e094d18361be55&stat=instructions:u) |
| 79 | + |
| 80 | +| (instructions:u) | mean | range | count | |
| 81 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 82 | +| Regressions ❌ <br /> (primary) | 1.0% | [0.3%, 2.1%] | 11 | |
| 83 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 84 | +| Improvements ✅ <br /> (primary) | -0.5% | [-1.4%, -0.2%] | 48 | |
| 85 | +| Improvements ✅ <br /> (secondary) | -1.0% | [-2.4%, -0.3%] | 36 | |
| 86 | +| All ❌✅ (primary) | -0.2% | [-1.4%, 2.1%] | 59 | |
| 87 | + |
| 88 | +Few real regressions on hyper, but mostly on small incremental runs. Outweighed by a lot of improvements, already marked as triaged by **@mark-simulacrum**. |
| 89 | + |
| 90 | +Rollup of 8 pull requests [#139992](https://github.com/rust-lang/rust/pull/139992) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a15cce2690e8fab72422515c9dc02c6fbc506733&end=1f76d219c906f0112bb1872f33aa977164c53fa6&stat=instructions:u) |
| 91 | + |
| 92 | +| (instructions:u) | mean | range | count | |
| 93 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 94 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.5%, 0.5%] | 1 | |
| 95 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 96 | +| Improvements ✅ <br /> (primary) | -0.5% | [-0.6%, -0.5%] | 2 | |
| 97 | +| Improvements ✅ <br /> (secondary) | -0.5% | [-0.5%, -0.5%] | 1 | |
| 98 | +| All ❌✅ (primary) | -0.2% | [-0.6%, 0.5%] | 3 | |
| 99 | + |
| 100 | +Improvements outweigh regressions. |
| 101 | + |
| 102 | +Somewhat small regression in debug build of Cargo looks real - the benchmark is a bit noisy and it partially recovered in next PR but it hasn't fully recovered since then. |
| 103 | + |
| 104 | +This is also a large bootstrap win, which seems a bit unexpected. Most of the change is in the frontend. |
| 105 | + |
| 106 | +Almost no PR in this rollup touches runtime code, so I suspect this is either a libc update or the drop handling fix from [#139977](https://github.com/rust-lang/rust/pull/139977), because adds code in a generic wrapper around intrinsic. |
0 commit comments