diff --git a/triage/2025/2025-11-03.md b/triage/2025/2025-11-03.md new file mode 100644 index 000000000..e7f0d82db --- /dev/null +++ b/triage/2025/2025-11-03.md @@ -0,0 +1,236 @@ +# 2025-11-03 Triage Log + +Mostly positive week. We saw a great performance win implemented by [#148040](https://github.com/rust-lang/rust/pull/148040) and [#148182](https://github.com/rust-lang/rust/pull/148182), which optimizes crates with a lot of trivial constants. + +Triage done by **@kobzol**. +Revision range: [23fced0f..35ebdf9b](https://perf.rust-lang.org/?start=23fced0fcc5e0ec260d25f04a8b78b269e5e90f0&end=35ebdf9ba1414456dfe1cb6a6b13ebae80e99734&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:---------------:|:-----:| +| Regressions ❌
(primary) | 0.8% | [0.1%, 2.9%] | 22 | +| Regressions ❌
(secondary) | 0.5% | [0.1%, 1.7%] | 48 | +| Improvements ✅
(primary) | -2.8% | [-16.4%, -0.1%] | 102 | +| Improvements ✅
(secondary) | -1.9% | [-8.0%, -0.1%] | 51 | +| All ❌✅ (primary) | -2.1% | [-16.4%, 2.9%] | 124 | + + +4 Regressions, 6 Improvements, 7 Mixed; 7 of them in rollups +36 artifact comparisons made in total + +#### Regressions + +Rollup of 14 pull requests [#148202](https://github.com/rust-lang/rust/pull/148202) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df984edf44203c862e01b5a20c8092d5614d872e&end=c9537a94a6300a8292804829801f7724fb8a33f6&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 1.7% | [0.3%, 2.9%] | 9 | +| Regressions ❌
(secondary) | 0.7% | [0.2%, 1.6%] | 10 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 1.7% | [0.3%, 2.9%] | 9 | + +- The new solver regressions come from [#147840](https://github.com/rust-lang/rust/pull/). +- The bulk of the regression comes from [#147185](https://github.com/rust-lang/rust/pull/147185). The changes trigger a lint in `syn`, which causes many more errors to be emitted, which caused the regressions. +- Marked as triaged. + +Update cc-rs to 1.2.39 [#146186](https://github.com/rust-lang/rust/pull/146186) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c9537a94a6300a8292804829801f7724fb8a33f6&end=bc1d7273dfbc6f8a11c0086fa35f6748a13e8d3c&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.7% | [0.3%, 3.7%] | 259 | +| Regressions ❌
(secondary) | 0.9% | [0.0%, 3.0%] | 287 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.7% | [0.3%, 3.7%] | 259 | + +- Unexpected regression from updating cc-rs, perhaps because it stopped passing `-flto` to `jemalloc`. +- Reverted in https://github.com/rust-lang/rust/pull/148298. + +Rollup of 5 pull requests [#148241](https://github.com/rust-lang/rust/pull/148241) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4146079cee94242771864147e32fb5d9adbd34f8&end=c6d42d774d1edfb270b8faaefacc67c213b0260b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 3.1% | [3.1%, 3.1%] | 1 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 3.1% | [3.1%, 3.1%] | 1 | + +- Noise. +- Already marked as triaged. + +compiletest: rename `add-core-stubs`/`core-stubs-compile-flags` to `add-minicore`/`minicore-compile-flags` [#148305](https://github.com/rust-lang/rust/pull/148305) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8483293b3b4eb209e8e8bd0d069e61de790018a8&end=b15a874aafe7eab9ea3ac2c1d59c7b03e1425027&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 3.1% | [3.1%, 3.1%] | 1 | +| Regressions ❌
(secondary) | 0.2% | [0.2%, 0.2%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 3.1% | [3.1%, 3.1%] | 1 | + +- Noise. +- Marked as triaged. + +#### Improvements + +Rollup of 4 pull requests [#148245](https://github.com/rust-lang/rust/pull/148245) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c6d42d774d1edfb270b8faaefacc67c213b0260b&end=292db4a13ce3f329579a581b424c6cec3b1cbd2b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -2.9% | [-2.9%, -2.9%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -2.9% | [-2.9%, -2.9%] | 1 | + + +Move wasm `throw` intrinsic back to `unwind` [#148291](https://github.com/rust-lang/rust/pull/148291) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6906167e01fba6f702f123264653f8e401546731&end=8205e6b75ec656305ac235d4726d2c7a1ddcef14&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -3.0% | [-3.0%, -3.0%] | 1 | +| Improvements ✅
(secondary) | -0.8% | [-0.8%, -0.8%] | 1 | +| All ❌✅ (primary) | -3.0% | [-3.0%, -3.0%] | 1 | + + +Revert "Update cc-rs to 1.2.39 #146186" [#148298](https://github.com/rust-lang/rust/pull/148298) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d5419f1e97b90741d51841f800d3c697c662567d&end=ab4960e680b07600ec90a8736f936df371bc7cf3&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.7% | [-3.6%, -0.3%] | 251 | +| Improvements ✅
(secondary) | -0.9% | [-2.9%, -0.0%] | 288 | +| All ❌✅ (primary) | -0.7% | [-3.6%, -0.3%] | 251 | + + +Adjust successor iterators. [#148157](https://github.com/rust-lang/rust/pull/148157) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=647f1536d2f50b203ca9a67396225c4f7771e1c8&end=23c7bad921fb7163de37ea680bed317deaa03fda&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.2% | [-0.4%, -0.1%] | 19 | +| Improvements ✅
(secondary) | -0.2% | [-0.4%, -0.0%] | 21 | +| All ❌✅ (primary) | -0.2% | [-0.4%, -0.1%] | 19 | + + +Rollup of 10 pull requests [#148356](https://github.com/rust-lang/rust/pull/148356) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d85276b256a8ab18e03b6394b4f7a7b246176db7&end=fca2e941f86f51cd3c3254518f45e2145563f6be&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -3.0% | [-3.0%, -3.0%] | 1 | +| Improvements ✅
(secondary) | -0.4% | [-1.0%, -0.1%] | 10 | +| All ❌✅ (primary) | -3.0% | [-3.0%, -3.0%] | 1 | + + +Rollup of 7 pull requests [#148412](https://github.com/rust-lang/rust/pull/148412) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b15a874aafe7eab9ea3ac2c1d59c7b03e1425027&end=c5dabe8cf798123087d094f06417f5a767ca73e8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -2.8% | [-2.8%, -2.8%] | 1 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -2.8% | [-2.8%, -2.8%] | 1 | + + +#### Mixed + +Add a fast path for lowering trivial consts [#148040](https://github.com/rust-lang/rust/pull/148040) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=34a8c7368c84fc699fc83a8851a02f93fd655931&end=4b53279854fcc60b063398181f5dc13ddc319cb8&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:---------------:|:-----:| +| Regressions ❌
(primary) | 0.3% | [0.2%, 0.4%] | 14 | +| Regressions ❌
(secondary) | 0.5% | [0.0%, 2.1%] | 36 | +| Improvements ✅
(primary) | -3.7% | [-15.5%, -0.1%] | 71 | +| Improvements ✅
(secondary) | -4.0% | [-8.2%, -0.0%] | 22 | +| All ❌✅ (primary) | -3.0% | [-15.5%, 0.4%] | 85 | + +- Improvements greatly outweigh regressions. +- Marked as triaged. + +Skip codegen_crate call in check mode [#148035](https://github.com/rust-lang/rust/pull/148035) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9ea8d67cc60e88ad6fffbf299a454c44227e001c&end=adaa838976ff99a4f0661136322f64cb466b58a0&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.2% | [1.2%, 1.2%] | 1 | +| Regressions ❌
(secondary) | 1.2% | [1.2%, 1.2%] | 1 | +| Improvements ✅
(primary) | -0.8% | [-0.8%, -0.8%] | 3 | +| Improvements ✅
(secondary) | -0.3% | [-0.7%, -0.2%] | 11 | +| All ❌✅ (primary) | -0.3% | [-0.8%, 1.2%] | 4 | + +- The `syn` regression is noise. +- Already marked as triaged. + +Accept trivial consts based on trivial consts [#148182](https://github.com/rust-lang/rust/pull/148182) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=278a90913daf7707791020a592d722dd7971f196&end=044d68c3cb6a0b893b18293fa7f5719119403215&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.1% | [0.1%, 0.1%] | 2 | +| Improvements ✅
(primary) | -0.7% | [-1.1%, -0.2%] | 13 | +| Improvements ✅
(secondary) | -1.4% | [-1.4%, -1.4%] | 1 | +| All ❌✅ (primary) | -0.7% | [-1.1%, -0.2%] | 13 | + +- Tiny regression on a secondary benchmark, improvements outweigh regressions. +- Marked as triaged. + +Remove `QPath::LangItem` [#148193](https://github.com/rust-lang/rust/pull/148193) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=72fe2ffb391f397efdfafb2216028ed9952e8078&end=6906167e01fba6f702f123264653f8e401546731&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.1% | [0.2%, 2.9%] | 3 | +| Regressions ❌
(secondary) | 0.4% | [0.1%, 1.3%] | 21 | +| Improvements ✅
(primary) | -0.2% | [-0.4%, -0.1%] | 18 | +| Improvements ✅
(secondary) | -0.1% | [-0.2%, -0.0%] | 2 | +| All ❌✅ (primary) | -0.0% | [-0.4%, 2.9%] | 21 | + +- The single primary regression is noise, otherwise it's a few small wins on primary benchmarks and a few small losses on secondary ones. Overall a wash. And since this is compiler refactoring/cleanup, there's probably not that much to be done anyway. +- Marked as triaged. + +Rollup of 9 pull requests [#148337](https://github.com/rust-lang/rust/pull/148337) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=17e7324d44c7b310b776302880fdd08d9252118a&end=d85276b256a8ab18e03b6394b4f7a7b246176db7&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.2% | [0.3%, 3.0%] | 5 | +| Regressions ❌
(secondary) | 0.2% | [0.1%, 0.3%] | 5 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All ❌✅ (primary) | 1.2% | [0.3%, 3.0%] | 5 | + +- Small performance loss caused by [#147622](https://github.com/rust-lang/rust/pull/147622), which was reverted in [#148436](https://github.com/rust-lang/rust/pull/148436). +- Marked as triaged. + +Rollup of 3 pull requests [#148425](https://github.com/rust-lang/rust/pull/148425) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7878a919448eb219b630d1866ca06c0d412483f2&end=f2bae990e89bf696e86706b524ac32ab72945438&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.1% | [0.1%, 0.2%] | 5 | +| Regressions ❌
(secondary) | 0.2% | [0.1%, 0.2%] | 15 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.2%] | 5 | +| All ❌✅ (primary) | 0.1% | [0.1%, 0.2%] | 5 | + +- Tiny `doc` losses caused likely either by stdlib doc changes introduced by [#146260](https://github.com/rust-lang/rust/pull/146260) or [#148402](https://github.com/rust-lang/rust/pull/148402) or both. +- Marked as triaged. + +Revert "unicode_data refactors RUST-147622" [#148436](https://github.com/rust-lang/rust/pull/148436) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=35ebdf9ba1414456dfe1cb6a6b13ebae80e99734&end=f5711a55f5d5e2f942057d0f6d648dd2d8b2c37b&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.2% | [0.1%, 0.3%] | 5 | +| Improvements ✅
(primary) | -0.8% | [-1.0%, -0.4%] | 3 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | -0.8% | [-1.0%, -0.4%] | 3 | + +- Performance-wish it's a wash, and this is a revert anyway. +- Marked as triaged.