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
154 changes: 154 additions & 0 deletions triage/2025/2025-12-16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# 2025-12-16 Triage Log

This week we saw several regressions, partly from the compiler doing more work. The remaining
regressions are being investigated.

Triage done by **@kobzol**.
Revision range: [55495234..21ff67df](https://perf.rust-lang.org/?start=554952348a7dd13851f25789f6bb1061f45c4b60&end=21ff67df15329dd7548ccba54b6c6ae9a562124f&absolute=false&stat=instructions%3Au)

**Summary**:

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.5% | [0.1%, 5.1%] | 40 |
| Regressions ❌ <br /> (secondary) | 0.8% | [0.0%, 3.0%] | 63 |
| Improvements ✅ <br /> (primary) | -0.7% | [-1.5%, -0.1%] | 35 |
| Improvements ✅ <br /> (secondary) | -1.0% | [-7.4%, -0.0%] | 73 |
| All ❌✅ (primary) | -0.1% | [-1.5%, 5.1%] | 75 |


3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups
36 artifact comparisons made in total

#### Regressions

resolve: Preserve ambiguous glob reexports in crate metadata [#147984](https://github.com/rust-lang/rust/pull/147984) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e2893f7c95e45f74c8bc5dbd033486c5bfaa4deb&end=c61a3a44d1a5bee35914cada6c788a05e0808f5b&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.5%] | 24 |
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.7%] | 13 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 1 |
| All ❌✅ (primary) | 0.3% | [0.1%, 0.5%] | 24 |

- The compiler is doing more work after this change, and this work should unblock parallelizing name resolution and macro expansion in the future.
- Asked on the PR if something can be done about the regression.

Rollup of 9 pull requests [#149891](https://github.com/rust-lang/rust/pull/149891) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa&end=c4dc70ee0ad7f811fb32e5bed9cd6c7b37beed4e&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary) | 1.9% | [0.5%, 7.6%] | 10 |
| Regressions ❌ <br /> (secondary) | 1.2% | [0.2%, 2.2%] | 2 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | - | - | 0 |
| All ❌✅ (primary) | 1.9% | [0.5%, 7.6%] | 10 |

- The regression in doc builds was caused by [#142380](https://github.com/rust-lang/rust/pull/142380).
- Continuing discussion on the PR.

Externally implementable items [#146348](https://github.com/rust-lang/rust/pull/146348) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2cd4ee6bcf517345dd76d7b102d56b2e873cddbc&end=3f4dc1e02d759aa3c3807d4efc1f7f6e293536a5&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.6% | [0.6%, 0.7%] | 2 |
| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.8%] | 35 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | -0.0% | [-0.1%, -0.0%] | 2 |
| All ❌✅ (primary) | 0.6% | [0.6%, 0.7%] | 2 |

- The regressions are only on the tiniest crates, and is quite small.
- Marked as triaged.

#### Improvements

Remove unwraps from metadata decoding: introduce `BlobDecoder` [#149455](https://github.com/rust-lang/rust/pull/149455) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=03d7ad7dd67d71f1ef1a790fcb4ceb2484ced761&end=5bc345055b06dc096b01bc6d1e0cbe92d3cc630e&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%] | 8 |
| Improvements ✅ <br /> (secondary) | -0.4% | [-1.4%, -0.1%] | 28 |
| All ❌✅ (primary) | -0.2% | [-0.4%, -0.1%] | 8 |


Don't leak sysroot crates through dependencies [#149273](https://github.com/rust-lang/rust/pull/149273) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3f4dc1e02d759aa3c3807d4efc1f7f6e293536a5&end=08de25c4ea16d7ecc3ceeb093d4f343a2be30df5&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | - | - | 0 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | -2.9% | [-6.7%, -0.1%] | 11 |
| All ❌✅ (primary) | - | - | 0 |


#### Mixed

std: Use more `unix.rs` code on WASI targets [#147572](https://github.com/rust-lang/rust/pull/147572) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a371038013f4f3e3f1d4fdcacfaa02c3252a518b&end=018d26972e523b8d28f9579056185a1713949dfd&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 3 |
| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.5%] | 2 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | -0.0% | [-0.0%, -0.0%] | 1 |
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 |

- Except for the tiny helloworld doc regression, this seems to be noise.
- Marked as triaged.

Revert "early return on duplicate span lowerings" [#149757](https://github.com/rust-lang/rust/pull/149757) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d5525a73009e2c61b09daa69df79064530bd4dcf&end=e2893f7c95e45f74c8bc5dbd033486c5bfaa4deb&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | - | - | 0 |
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 1 |
| Improvements ✅ <br /> (primary) | -0.3% | [-0.7%, -0.1%] | 94 |
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.8%, -0.0%] | 107 |
| All ❌✅ (primary) | -0.3% | [-0.7%, -0.1%] | 94 |

- This revert fixed a previous performance regression from [#149060](https://github.com/rust-lang/rust/pull/149060).
- Marked as triaged.

Rollup of 5 pull requests [#149818](https://github.com/rust-lang/rust/pull/149818) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c61a3a44d1a5bee35914cada6c788a05e0808f5b&end=5f1173bb2b0a7012640bd5383c61b433b16a452d&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.3%] | 18 |
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.5%] | 13 |
| Improvements ✅ <br /> (primary) | - | - | 0 |
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.3%] | 3 |
| All ❌✅ (primary) | 0.2% | [0.1%, 0.3%] | 18 |

- Small regression caused by [#149664](https://github.com/rust-lang/rust/pull/149664), continuing
discussion on that PR.
- Not marking as triaged yet.

Port `doc` attributes to new attribute API [#149645](https://github.com/rust-lang/rust/pull/149645) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f5209000832c9d3bc29c91f4daef4ca9f28dc797&end=5b150d238fbd4fe7bc2cd3140d8e6fb4406099fa&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
| Regressions ❌ <br /> (secondary) | 1.4% | [0.1%, 3.1%] | 18 |
| Improvements ✅ <br /> (primary) | -0.6% | [-1.3%, -0.2%] | 36 |
| Improvements ✅ <br /> (secondary) | -0.6% | [-1.2%, -0.1%] | 32 |
| All ❌✅ (primary) | -0.6% | [-1.3%, 0.2%] | 37 |

- More improvements than regressions.
- Already marked as triaged.

Overhaul filename handling for cross-compiler consistency [#149709](https://github.com/rust-lang/rust/pull/149709) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=eb171a227f9e5de5d376b6edb56b174bc8235fb3&end=8188f6c8084bade919921457e011fa39c6bf09a4&stat=instructions:u)

| (instructions:u) | mean | range | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 1.1%] | 6 |
| Regressions ❌ <br /> (secondary) | 0.6% | [0.0%, 2.2%] | 31 |
| Improvements ✅ <br /> (primary) | -0.6% | [-1.5%, -0.1%] | 12 |
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 4 |
| All ❌✅ (primary) | -0.2% | [-1.5%, 1.1%] | 18 |

- The results are a bit all over the place, but overall it's a wash. Some tiny improvements are expected to be gained from a follow-up in [#149989](https://github.com/rust-lang/rust/pull/149989).
- Marked as triaged.
Loading