Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
236 changes: 236 additions & 0 deletions triage/2025/2025-11-03.md
Original file line number Diff line number Diff line change
@@ -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 ❌ <br /> (primary) | 0.8% | [0.1%, 2.9%] | 22 |
| Regressions ❌ <br /> (secondary) | 0.5% | [0.1%, 1.7%] | 48 |
| Improvements ✅ <br /> (primary) | -2.8% | [-16.4%, -0.1%] | 102 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 1.7% | [0.3%, 2.9%] | 9 |
| Regressions ❌ <br /> (secondary) | 0.7% | [0.2%, 1.6%] | 10 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 0.7% | [0.3%, 3.7%] | 259 |
| Regressions ❌ <br /> (secondary) | 0.9% | [0.0%, 3.0%] | 287 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 3.1% | [3.1%, 3.1%] | 1 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 3.1% | [3.1%, 3.1%] | 1 |
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -2.9% | [-2.9%, -2.9%] | 1 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -3.0% | [-3.0%, -3.0%] | 1 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -0.7% | [-3.6%, -0.3%] | 251 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -0.2% | [-0.4%, -0.1%] | 19 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -3.0% | [-3.0%, -3.0%] | 1 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | -2.8% | [-2.8%, -2.8%] | 1 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 0.3% | [0.2%, 0.4%] | 14 |
| Regressions ❌ <br /> (secondary) | 0.5% | [0.0%, 2.1%] | 36 |
| Improvements ✅ <br /> (primary) | -3.7% | [-15.5%, -0.1%] | 71 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 1.2% | [1.2%, 1.2%] | 1 |
| Regressions ❌ <br /> (secondary) | 1.2% | [1.2%, 1.2%] | 1 |
| Improvements ✅ <br /> (primary) | -0.8% | [-0.8%, -0.8%] | 3 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 2 |
| Improvements ✅ <br /> (primary) | -0.7% | [-1.1%, -0.2%] | 13 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 1.1% | [0.2%, 2.9%] | 3 |
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 1.3%] | 21 |
| Improvements ✅ <br /> (primary) | -0.2% | [-0.4%, -0.1%] | 18 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 1.2% | [0.3%, 3.0%] | 5 |
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.3%] | 5 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | 0.1% | [0.1%, 0.2%] | 5 |
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.2%] | 15 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (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 ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.3%] | 5 |
| Improvements ✅ <br /> (primary) | -0.8% | [-1.0%, -0.4%] | 3 |
| Improvements ✅ <br /> (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.
Loading