# 2025-04-14 Triage Log Relatively small changes this week, nothing terribly impactful (positive or negative). Triage done by **@simulacrum**. Revision range: [e643f59f..15f58c46](https://perf.rust-lang.org/?start=e643f59f6da3a84f43e75dea99afaa5b041ea6bf&end=15f58c46da79399961a09db0c650a2f90f442e6b&absolute=false&stat=instructions%3Au) **Summary**: | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 0.7% | [0.1%, 2.1%] | 39 | | Regressions ❌
(secondary) | 0.8% | [0.2%, 3.2%] | 23 | | Improvements ✅
(primary) | -0.6% | [-0.9%, -0.3%] | 7 | | Improvements ✅
(secondary) | -0.6% | [-1.5%, -0.1%] | 40 | | All ❌✅ (primary) | 0.5% | [-0.9%, 2.1%] | 46 | 1 Regressions, 3 Improvements, 3 Mixed; 2 of them in rollups 35 artifact comparisons made in total #### Regressions Rollup of 10 pull requests [#139766](https://github.com/rust-lang/rust/pull/139766) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6e830462330a9e34d8176e86d4580dd0820c6fd5&end=15f58c46da79399961a09db0c650a2f90f442e6b&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:----:|:------------:|:-----:| | Regressions ❌
(primary) | 1.1% | [0.5%, 2.1%] | 15 | | Regressions ❌
(secondary) | 1.0% | [0.3%, 2.4%] | 3 | | Improvements ✅
(primary) | - | - | 0 | | Improvements ✅
(secondary) | - | - | 0 | | All ❌✅ (primary) | 1.1% | [0.5%, 2.1%] | 15 | Real regression, though limited only to doc builds. Investigating root cause in PR. #### Improvements speed up `String::push` and `String::insert` [#124810](https://github.com/rust-lang/rust/pull/124810) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=48f89e7659678f91a68c0c2d868180a0036ab32d&end=934880f586f6ac1f952c7090e2a943fcd7775e7b&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 0.8% | [0.8%, 0.8%] | 1 | | Regressions ❌
(secondary) | - | - | 0 | | Improvements ✅
(primary) | -0.3% | [-1.2%, -0.1%] | 35 | | Improvements ✅
(secondary) | -0.3% | [-0.8%, -0.2%] | 46 | | All ❌✅ (primary) | -0.3% | [-1.2%, 0.8%] | 36 | Rollup of 13 pull requests [#139622](https://github.com/rust-lang/rust/pull/139622) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7d7de5bf3c3cbf9c2c5bbc5cbfb9197a8a427d35&end=69b3959afec9b5468d5de15133b199553f6e55d2&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | - | - | 0 | | Regressions ❌
(secondary) | 0.5% | [0.5%, 0.5%] | 1 | | Improvements ✅
(primary) | -0.3% | [-0.3%, -0.2%] | 4 | | Improvements ✅
(secondary) | -0.3% | [-0.6%, -0.2%] | 26 | | All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 4 | Polymorphize `array::IntoIter`'s iterator impl [#139430](https://github.com/rust-lang/rust/pull/139430) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d2b3dd7c173de58881ead8109f7970b9cd926e2a&end=1bc56185ee257ed829a0aea7abdc3b03c5fed887&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | - | - | 0 | | Regressions ❌
(secondary) | - | - | 0 | | Improvements ✅
(primary) | -1.2% | [-1.2%, -1.2%] | 1 | | Improvements ✅
(secondary) | - | - | 0 | | All ❌✅ (primary) | -1.2% | [-1.2%, -1.2%] | 1 | #### Mixed Allow GVN to produce places and not just locals. [#139327](https://github.com/rust-lang/rust/pull/139327) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=97c966bb40756903f8aa13995629128d157f6056&end=f06e5c1e35bc5bc6131c6f8a0eb782097e3f28c3&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 0.7% | [0.7%, 0.7%] | 1 | | Regressions ❌
(secondary) | 0.7% | [0.7%, 0.7%] | 1 | | Improvements ✅
(primary) | -0.6% | [-0.6%, -0.6%] | 1 | | Improvements ✅
(secondary) | -0.6% | [-0.9%, -0.2%] | 10 | | All ❌✅ (primary) | 0.0% | [-0.6%, 0.7%] | 2 | Regressions look plausibly real, but are limited (~2 scenarios) and outweighed by benefits. No further investigation warranted. Ensure `swap_nonoverlapping` is really always untyped [#137412](https://github.com/rust-lang/rust/pull/137412) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2205455d444f5f9da3a52e50f43c0306480218fb&end=0fe8f3454dbe9dda52a254991347e96bec579a6f&stat=instructions:u) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 0.7% | [0.4%, 1.7%] | 5 | | Regressions ❌
(secondary) | - | - | 0 | | Improvements ✅
(primary) | -0.7% | [-1.1%, -0.3%] | 9 | | Improvements ✅
(secondary) | - | - | 0 | | All ❌✅ (primary) | -0.2% | [-1.1%, 1.7%] | 14 | Correctness improvement. Regressions look real, though limited to just a few scenarios, and correctness is more important. No further investigation warranted. 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) | (instructions:u) | mean | range | count | |:----------------------------------:|:-----:|:--------------:|:-----:| | Regressions ❌
(primary) | 1.0% | [0.3%, 2.1%] | 11 | | Regressions ❌
(secondary) | - | - | 0 | | Improvements ✅
(primary) | -0.5% | [-1.4%, -0.2%] | 48 | | Improvements ✅
(secondary) | -1.0% | [-2.4%, -0.3%] | 36 | | All ❌✅ (primary) | -0.2% | [-1.4%, 2.1%] | 59 | Overall improvements outweigh limited regressions. Marking as triaged.