|
| 1 | +# 2025-12-16 Triage Log |
| 2 | + |
| 3 | +This week we saw several regressions, partly from the compiler doing more work. The remaining |
| 4 | +regressions are being investigated. |
| 5 | + |
| 6 | +Triage done by **@kobzol**. |
| 7 | +Revision range: [55495234..21ff67df](https://perf.rust-lang.org/?start=554952348a7dd13851f25789f6bb1061f45c4b60&end=21ff67df15329dd7548ccba54b6c6ae9a562124f&absolute=false&stat=instructions%3Au) |
| 8 | + |
| 9 | +**Summary**: |
| 10 | + |
| 11 | +| (instructions:u) | mean | range | count | |
| 12 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 13 | +| Regressions ❌ <br /> (primary) | 0.5% | [0.1%, 5.1%] | 40 | |
| 14 | +| Regressions ❌ <br /> (secondary) | 0.8% | [0.0%, 3.0%] | 63 | |
| 15 | +| Improvements ✅ <br /> (primary) | -0.7% | [-1.5%, -0.1%] | 35 | |
| 16 | +| Improvements ✅ <br /> (secondary) | -1.0% | [-7.4%, -0.0%] | 73 | |
| 17 | +| All ❌✅ (primary) | -0.1% | [-1.5%, 5.1%] | 75 | |
| 18 | + |
| 19 | + |
| 20 | +3 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups |
| 21 | +36 artifact comparisons made in total |
| 22 | + |
| 23 | +#### Regressions |
| 24 | + |
| 25 | +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) |
| 26 | + |
| 27 | +| (instructions:u) | mean | range | count | |
| 28 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 29 | +| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.5%] | 24 | |
| 30 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.7%] | 13 | |
| 31 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 32 | +| Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 1 | |
| 33 | +| All ❌✅ (primary) | 0.3% | [0.1%, 0.5%] | 24 | |
| 34 | + |
| 35 | +- The compiler is doing more work after this change, and this work should unblock parallelizing name resolution and macro expansion in the future. |
| 36 | +- Asked on the PR if something can be done about the regression. |
| 37 | + |
| 38 | +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) |
| 39 | + |
| 40 | +| (instructions:u) | mean | range | count | |
| 41 | +|:----------------------------------:|:----:|:------------:|:-----:| |
| 42 | +| Regressions ❌ <br /> (primary) | 1.9% | [0.5%, 7.6%] | 10 | |
| 43 | +| Regressions ❌ <br /> (secondary) | 1.2% | [0.2%, 2.2%] | 2 | |
| 44 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 45 | +| Improvements ✅ <br /> (secondary) | - | - | 0 | |
| 46 | +| All ❌✅ (primary) | 1.9% | [0.5%, 7.6%] | 10 | |
| 47 | + |
| 48 | +- The regression in doc builds was caused by [#142380](https://github.com/rust-lang/rust/pull/142380). |
| 49 | +- Continuing discussion on the PR. |
| 50 | + |
| 51 | +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) |
| 52 | + |
| 53 | +| (instructions:u) | mean | range | count | |
| 54 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 55 | +| Regressions ❌ <br /> (primary) | 0.6% | [0.6%, 0.7%] | 2 | |
| 56 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.8%] | 35 | |
| 57 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 58 | +| Improvements ✅ <br /> (secondary) | -0.0% | [-0.1%, -0.0%] | 2 | |
| 59 | +| All ❌✅ (primary) | 0.6% | [0.6%, 0.7%] | 2 | |
| 60 | + |
| 61 | +- The regressions are only on the tiniest crates, and is quite small. |
| 62 | +- Marked as triaged. |
| 63 | + |
| 64 | +#### Improvements |
| 65 | + |
| 66 | +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) |
| 67 | + |
| 68 | +| (instructions:u) | mean | range | count | |
| 69 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 70 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 71 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 72 | +| Improvements ✅ <br /> (primary) | -0.2% | [-0.4%, -0.1%] | 8 | |
| 73 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-1.4%, -0.1%] | 28 | |
| 74 | +| All ❌✅ (primary) | -0.2% | [-0.4%, -0.1%] | 8 | |
| 75 | + |
| 76 | + |
| 77 | +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) |
| 78 | + |
| 79 | +| (instructions:u) | mean | range | count | |
| 80 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 81 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 82 | +| Regressions ❌ <br /> (secondary) | - | - | 0 | |
| 83 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 84 | +| Improvements ✅ <br /> (secondary) | -2.9% | [-6.7%, -0.1%] | 11 | |
| 85 | +| All ❌✅ (primary) | - | - | 0 | |
| 86 | + |
| 87 | + |
| 88 | +#### Mixed |
| 89 | + |
| 90 | +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) |
| 91 | + |
| 92 | +| (instructions:u) | mean | range | count | |
| 93 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 94 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 3 | |
| 95 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.5%] | 2 | |
| 96 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 97 | +| Improvements ✅ <br /> (secondary) | -0.0% | [-0.0%, -0.0%] | 1 | |
| 98 | +| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 | |
| 99 | + |
| 100 | +- Except for the tiny helloworld doc regression, this seems to be noise. |
| 101 | +- Marked as triaged. |
| 102 | + |
| 103 | +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) |
| 104 | + |
| 105 | +| (instructions:u) | mean | range | count | |
| 106 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 107 | +| Regressions ❌ <br /> (primary) | - | - | 0 | |
| 108 | +| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 1 | |
| 109 | +| Improvements ✅ <br /> (primary) | -0.3% | [-0.7%, -0.1%] | 94 | |
| 110 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-0.8%, -0.0%] | 107 | |
| 111 | +| All ❌✅ (primary) | -0.3% | [-0.7%, -0.1%] | 94 | |
| 112 | + |
| 113 | +- This revert fixed a previous performance regression from [#149060](https://github.com/rust-lang/rust/pull/149060). |
| 114 | +- Marked as triaged. |
| 115 | + |
| 116 | +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) |
| 117 | + |
| 118 | +| (instructions:u) | mean | range | count | |
| 119 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 120 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.3%] | 18 | |
| 121 | +| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.5%] | 13 | |
| 122 | +| Improvements ✅ <br /> (primary) | - | - | 0 | |
| 123 | +| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.3%] | 3 | |
| 124 | +| All ❌✅ (primary) | 0.2% | [0.1%, 0.3%] | 18 | |
| 125 | + |
| 126 | +- Small regression caused by [#149664](https://github.com/rust-lang/rust/pull/149664), continuing |
| 127 | + discussion on that PR. |
| 128 | +- Not marking as triaged yet. |
| 129 | + |
| 130 | +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) |
| 131 | + |
| 132 | +| (instructions:u) | mean | range | count | |
| 133 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 134 | +| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 | |
| 135 | +| Regressions ❌ <br /> (secondary) | 1.4% | [0.1%, 3.1%] | 18 | |
| 136 | +| Improvements ✅ <br /> (primary) | -0.6% | [-1.3%, -0.2%] | 36 | |
| 137 | +| Improvements ✅ <br /> (secondary) | -0.6% | [-1.2%, -0.1%] | 32 | |
| 138 | +| All ❌✅ (primary) | -0.6% | [-1.3%, 0.2%] | 37 | |
| 139 | + |
| 140 | +- More improvements than regressions. |
| 141 | +- Already marked as triaged. |
| 142 | + |
| 143 | +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) |
| 144 | + |
| 145 | +| (instructions:u) | mean | range | count | |
| 146 | +|:----------------------------------:|:-----:|:--------------:|:-----:| |
| 147 | +| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 1.1%] | 6 | |
| 148 | +| Regressions ❌ <br /> (secondary) | 0.6% | [0.0%, 2.2%] | 31 | |
| 149 | +| Improvements ✅ <br /> (primary) | -0.6% | [-1.5%, -0.1%] | 12 | |
| 150 | +| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 4 | |
| 151 | +| All ❌✅ (primary) | -0.2% | [-1.5%, 1.1%] | 18 | |
| 152 | + |
| 153 | +- 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). |
| 154 | +- Marked as triaged. |
0 commit comments