diff --git a/triage/2026/2026-03-31.md b/triage/2026/2026-03-31.md new file mode 100644 index 000000000..8181bcff5 --- /dev/null +++ b/triage/2026/2026-03-31.md @@ -0,0 +1,142 @@ +# 2026-03-31 Triage Log + +We had some infrastructure troubles this week which prevented some rollup PRs from generating their +"unrolled" builds, which made rollup regression investigation more complicated, although we were +able to locate and revert the largest rollup regressions in the end. [#154304](https://github.com/rust-lang/rust/pull/154304) brought some nice improvements by optimizing the query system. + +Triage done by **@kobzol**. +Revision range: [6f22f613..cf7da0b7](https://perf.rust-lang.org/?start=6f22f61305478df09f9a4523743f85d9f558c3d7&end=cf7da0b7277cad05b79f91b60c290aa08a17a6f0&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.1%, 1.2%] | 4 | +| Regressions ❌
(secondary) | 0.3% | [0.1%, 0.5%] | 12 | +| Improvements ✅
(primary) | -0.8% | [-6.2%, -0.2%] | 58 | +| Improvements ✅
(secondary) | -0.4% | [-1.9%, -0.1%] | 28 | +| All ❌✅ (primary) | -0.8% | [-6.2%, 1.2%] | 62 | + +3 Regressions, 4 Improvements, 2 Mixed; 2 of them in rollups +35 artifact comparisons made in total + +#### Regressions + +Rollup of 10 pull requests [#154289](https://github.com/rust-lang/rust/pull/154289) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=212b0d480f337082bbe1132d2b62be20e7e61f8a&end=9df83179a4fd7ddee7532e72abb23c76b8426f9a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 3 | +| Regressions ❌
(secondary) | 0.5% | [0.5%, 0.5%] | 1 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 | + +- The unicode normalization blip was noise. The rest looks real, but the regressions are tiny and only on `doc` builds, and since we don't have unrolled builds here, I don't think it's worth it to go revert the individual PRs. +- Marked as triaged. + +Rollup of 22 pull requests [#154384](https://github.com/rust-lang/rust/pull/154384) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=212ef7770dfad656782207fda799bdae28fc5b7b&end=80d0e4be6f15899649ba31669077c59a986f96cc&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 1.2% | [0.1%, 3.8%] | 53 | +| Regressions ❌
(secondary) | 0.9% | [0.2%, 6.2%] | 45 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 1.2% | [0.1%, 3.8%] | 53 | + +- The regressions came from several pull requests. +- [#154200](https://github.com/rust-lang/rust/pull/154200) caused compilation time and binary size regressions. + It was reverted in [#154468](https://github.com/rust-lang/rust/pull/154468), and there is now an + open PR ([#154532](https://github.com/rust-lang/rust/pull/154532)) to reapply it with some modifications. +- [#154344](https://github.com/rust-lang/rust/pull/154344), an LLVM version update, caused the rest of the major compilation time regressions. The root cause commit was reverted in [#154511](https://github.com/rust-lang/rust/pull/154511). +- Marked as triaged. + +constify `Step` trait and all of its `impl`ementations [#153821](https://github.com/rust-lang/rust/pull/153821) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=79531c53ded6316bd4973f60bc992954255b8b10&end=7e28c7438a7b0c79a09724ba799d32ed461beb72&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.8% | [0.4%, 1.2%] | 2 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.8% | [0.4%, 1.2%] | 2 | + +- Some tiny regressions in debug and opt builds. +- Asked for a follow-up. +- Not marking as triaged yet. + +#### Improvements + +`DepNode` use improvements [#154076](https://github.com/rust-lang/rust/pull/154076) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6f22f61305478df09f9a4523743f85d9f558c3d7&end=212b0d480f337082bbe1132d2b62be20e7e61f8a&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.0%] | 12 | +| All ❌✅ (primary) | - | - | 0 | + + +Revert "Rollup merge of #154200 - resrever:enable-dwarf-call-sites, r=dingxiangfei2009" [#154468](https://github.com/rust-lang/rust/pull/154468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d4eb09831046687ccd28e8a570735e90f22004c&end=fb27476aaf1012f1f6ace6306f9b990e0d989c31&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-1.0%, -0.2%] | 34 | +| Improvements ✅
(secondary) | -0.6% | [-1.0%, -0.1%] | 25 | +| All ❌✅ (primary) | -0.5% | [-1.0%, -0.2%] | 34 | + + +resolve: Never lookup glob names in modules from other crates [#154472](https://github.com/rust-lang/rust/pull/154472) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fb27476aaf1012f1f6ace6306f9b990e0d989c31&end=3f3c6f45dc68eb71d1e01ae716bad4da164dfbf1&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.1% | [-0.2%, -0.1%] | 2 | +| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.0%] | 11 | +| All ❌✅ (primary) | -0.1% | [-0.2%, -0.1%] | 2 | + + +[perf] Revert FastISel patch [#154511](https://github.com/rust-lang/rust/pull/154511) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=80ad55752e5ae6c2d1bc143b819eb8d1c00167d1&end=116458d0a5ae01cd517cabd2d1aee7f5457018ab&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -1.3% | [-3.2%, -0.1%] | 26 | +| Improvements ✅
(secondary) | -1.2% | [-5.1%, -0.2%] | 13 | +| All ❌✅ (primary) | -1.3% | [-3.2%, -0.1%] | 26 | + + +#### Mixed + +rustc_expand: improve diagnostics for non-repeatable metavars [#154014](https://github.com/rust-lang/rust/pull/154014) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=80d0e4be6f15899649ba31669077c59a986f96cc&end=1174f784096deb8e4ba93f7e4b5ccb7bb4ba2c55&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.2% | [0.1%, 0.3%] | 7 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.1% | [-0.1%, -0.1%] | 1 | +| Improvements ✅
(secondary) | -0.2% | [-0.2%, -0.2%] | 1 | +| All ❌✅ (primary) | 0.2% | [-0.1%, 0.3%] | 8 | + +- Small regression on html5ever, it was deemed to be acceptable prior to merging. +- Marked as triaged. + +Make typeck a tcx method which calls typeck_root query [#154304](https://github.com/rust-lang/rust/pull/154304) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cd14b73b4a41542d921f59e362a5b5005fa4f2ef&end=a25435bcf7cfc9b953d356eda3a51db8da9e3386&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 3 | +| Regressions ❌
(secondary) | 0.3% | [0.3%, 0.3%] | 6 | +| Improvements ✅
(primary) | -1.1% | [-6.1%, -0.2%] | 41 | +| Improvements ✅
(secondary) | -0.7% | [-2.0%, -0.2%] | 11 | +| All ❌✅ (primary) | -1.0% | [-6.1%, 0.2%] | 44 | + +- Many more improvements than regressions. +- Marked as triaged. +