diff --git a/triage/2026/2026-04-27.md b/triage/2026/2026-04-27.md new file mode 100644 index 000000000..b4aa6f180 --- /dev/null +++ b/triage/2026/2026-04-27.md @@ -0,0 +1,144 @@ +# 2026-04-27 Triage Log + +Relatively few perf-affecting changes this week. Perf report is more positive +than users should see due to the `-Zincremental-verify-ich` related +improvements in [#155473](https://github.com/rust-lang/rust/pull/155473). + +Triage done by **@simulacrum**. +Revision range: [9ab01ae5..ca9a134e](https://perf.rust-lang.org/?start=9ab01ae53c416f89fe256b79588a76dcbcdc9290&end=ca9a134e0985765ded9cfdde4030a5df4db7e2bd&absolute=false&stat=instructions%3Au) + +**Summary**: + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.8% | [0.4%, 2.0%] | 17 | +| Regressions ❌
(secondary) | 0.4% | [0.0%, 1.7%] | 10 | +| Improvements ✅
(primary) | -0.8% | [-2.8%, -0.2%] | 137 | +| Improvements ✅
(secondary) | -1.0% | [-5.3%, -0.0%] | 176 | +| All ❌✅ (primary) | -0.6% | [-2.8%, 2.0%] | 154 | + +1 Regression, 5 Improvements, 3 Mixed; 3 of them in rollups +32 artifact comparisons made in total + +#### Regressions + +privacy: Assert that compared visibilities are (usually) ordered [#155257](https://github.com/rust-lang/rust/pull/155257) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fb76025f2fe6a1c8ce03fe0931f941c8077a2c34&end=9838411cb723b60dc62b1625751075c4d933b992&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:----:|:------------:|:-----:| +| Regressions ❌
(primary) | 0.4% | [0.2%, 0.7%] | 12 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | - | - | 0 | +| All ❌✅ (primary) | 0.4% | [0.2%, 0.7%] | 12 | + +This regressed in typenum and libc, both of which have many imports/items +declared. Based on PR discussion, it sounds like this is an intentional +regression with a goal of identifying potential bugs in the wild where +visibilities don't match expectations. + is a potential improvement +mitigating the impact. + +#### Improvements + +Replace `ShardedHashMap` method `insert` with debug-checked `insert_unique` [#155550](https://github.com/rust-lang/rust/pull/155550) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=913e4bea83424658d76712fee9c52452a3a9ef0e&end=30837cb66de032fbc8072c8ecbf76c39c5b14478&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.4% | [-0.7%, -0.2%] | 9 | +| Improvements ✅
(secondary) | -0.5% | [-0.7%, -0.2%] | 21 | +| All ❌✅ (primary) | -0.4% | [-0.7%, -0.2%] | 9 | + + +Streamline `CrateMetadataRef` construction in `provide_one!`. [#155628](https://github.com/rust-lang/rust/pull/155628) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=827651f2200cefab42dac4c2ae7f80a7149340de&end=2eaa5de4a3a911f52adbee7dda0bc84b06115576&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | -0.5% | [-1.3%, -0.3%] | 14 | +| Improvements ✅
(secondary) | -0.8% | [-2.2%, -0.2%] | 30 | +| All ❌✅ (primary) | -0.5% | [-1.3%, -0.3%] | 14 | + + +Permit `{This}` in diagnostic attribute format literals [#155662](https://github.com/rust-lang/rust/pull/155662) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7c61a357e3c91b8a3c02dc63b7744d942d572a9a&end=80729d7ce0ec05aef7a33d9892484cfd5cf34675&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | - | - | 0 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.2%] | 13 | +| All ❌✅ (primary) | - | - | 0 | + + +Prefer `-1` for `None` [#155473](https://github.com/rust-lang/rust/pull/155473) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c7fe5e9d1eb0ef8cc033961956d60f8e2e91e741&end=d4f78565699b229227c9e9ca8164efa3d5d7213e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.7% | [0.2%, 1.9%] | 5 | +| Improvements ✅
(primary) | -0.3% | [-2.7%, -0.1%] | 67 | +| Improvements ✅
(secondary) | -0.3% | [-0.8%, -0.1%] | 52 | +| All ❌✅ (primary) | -0.3% | [-2.7%, -0.1%] | 67 | + +Rollup of 10 pull requests [#155655](https://github.com/rust-lang/rust/pull/155655) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f676c20edd32321e9fa2781543d8970109707e30&end=913e4bea83424658d76712fee9c52452a3a9ef0e&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | - | - | 0 | +| Regressions ❌
(secondary) | 0.1% | [0.0%, 0.1%] | 2 | +| Improvements ✅
(primary) | -0.8% | [-3.7%, -0.2%] | 110 | +| Improvements ✅
(secondary) | -1.2% | [-5.5%, -0.0%] | 83 | +| All ❌✅ (primary) | -0.8% | [-3.7%, -0.2%] | 110 | + +The few regressions in include-blob look to be potentially noise. Marked as +triaged. The majority or all of the improvements are mostly not going to affect +users, they're specific to `-Zincremental-verify-ich` which is not on by +default (but is on in the perf collector). See +[comment](https://github.com/rust-lang/rust/pull/155655#issuecomment-4301028365). + +#### Mixed + +Rollup of 6 pull requests [#155596](https://github.com/rust-lang/rust/pull/155596) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=93637f398f4d0d40badc6bf1ed3f241499d06f88&end=365515367b4a20a315ec65a466991441b9dfba66&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 1.0% | [0.3%, 2.1%] | 14 | +| Regressions ❌
(secondary) | 0.6% | [0.6%, 0.7%] | 7 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.2% | [-0.2%, -0.2%] | 3 | +| All ❌✅ (primary) | 1.0% | [0.3%, 2.1%] | 14 | + +Ran perf runs on PRs inside the rollup and identified root cause as "Fix +#[expect(dead_code)] liveness propagation" +[#154377](https://github.com/rust-lang/rust/pull/154377#issuecomment-4330991142). +Marked the regression as triaged since that is a correctness fix and I suspect +the regression is isolated in instruction count rather than wall clock changes. + +`AliasTerm` refactor [#155392](https://github.com/rust-lang/rust/pull/155392) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f9988fefd3add01f414f52b414308e7872622fee&end=1bfcb284f7a2199ad322daa463e29e708d5bc635&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.5% | [0.1%, 0.9%] | 19 | +| Regressions ❌
(secondary) | 0.3% | [0.0%, 0.7%] | 19 | +| Improvements ✅
(primary) | -0.3% | [-0.4%, -0.2%] | 10 | +| Improvements ✅
(secondary) | -0.3% | [-0.5%, -0.2%] | 9 | +| All ❌✅ (primary) | 0.2% | [-0.4%, 0.9%] | 29 | + +[Asked](https://github.com/rust-lang/rust/pull/155392#issuecomment-4331105877) +whether we think the tradeoff is worth it on the PR. + +Rollup of 7 pull requests [#155687](https://github.com/rust-lang/rust/pull/155687) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2eaa5de4a3a911f52adbee7dda0bc84b06115576&end=36ba2c7712052d731a7082d0eba5ed3d9d56c133&stat=instructions:u) + +| (instructions:u) | mean | range | count | +|:----------------------------------:|:-----:|:--------------:|:-----:| +| Regressions ❌
(primary) | 0.3% | [0.2%, 0.5%] | 16 | +| Regressions ❌
(secondary) | 0.1% | [0.1%, 0.1%] | 3 | +| Improvements ✅
(primary) | - | - | 0 | +| Improvements ✅
(secondary) | -0.5% | [-0.7%, -0.2%] | 14 | +| All ❌✅ (primary) | 0.3% | [0.2%, 0.5%] | 16 | + +Unclear what the root cause is. Kicked off a build on #155469.