Skip to content

Commit 888c0a2

Browse files
authored
add triage for 2025-09-15 (#2247)
add perf triage for 2025-09-15
1 parent 60d24c9 commit 888c0a2

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed

triage/2025/2025-09-15.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# 2025-09-15 Triage Log
2+
3+
Difficult week to interpret, because a positive change in [#145910](https://github.com/rust-lang/rust/pull/145910) performs a bit worse in our benchmarks than it would in the real world. Overall result is probably still slightly negative, because there's more work from added features. On the other hand, we also have a nice improvement in reducing the number of query dependencies in compiler's incremental system in [#145186](https://github.com/rust-lang/rust/pull/145186).
4+
5+
Triage done by **@panstromek**.
6+
Revision range: [f13ef0d7..52618eb3](https://perf.rust-lang.org/?start=f13ef0d75d834c826c9479a5d244bcfb9891df45&end=52618eb338609df44978b0ca4451ab7941fd1c7a&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 0.5% | [0.2%, 2.7%] | 72 |
13+
| Regressions ❌ <br /> (secondary) | 0.7% | [0.0%, 3.5%] | 96 |
14+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.9%, -0.1%] | 10 |
15+
| Improvements ✅ <br /> (secondary) | -0.8% | [-2.9%, -0.1%] | 41 |
16+
| All ❌✅ (primary) | 0.4% | [-0.9%, 2.7%] | 82 |
17+
18+
19+
1 Regression, 1 Improvement, 6 Mixed; 3 of them in rollups
20+
36 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
consider item bounds for non-yet-defined opaque types [#146329](https://github.com/rust-lang/rust/pull/146329) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=408eacfb95ea19e248c0fe5e377980bc00682c1b&end=a171994070dc18c3a32fc1aa2d98cf03ae96b63e&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:-----:|:--------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | - | - | 0 |
29+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 0.8%] | 11 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 1 |
32+
| All ❌✅ (primary) | - | - | 0 |
33+
34+
`tt-muncher`, `ucd` and `tuple-stress` all look like noise to me. The rest is in new-solver, which is still WIP and not enabled by default.
35+
36+
#### Improvements
37+
38+
Make `AssocItem` aware of its impl kind [#145186](https://github.com/rust-lang/rust/pull/145186) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b50f345a2f3f49764024cabc30ef99e15c0240f7&end=637b50be01093962ac6f4432d6881ab41d6d90b4&stat=instructions:u)
39+
40+
| (instructions:u) | mean | range | count |
41+
|:----------------------------------:|:-----:|:--------------:|:-----:|
42+
| Regressions ❌ <br /> (primary) | - | - | 0 |
43+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
44+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 15 |
45+
| Improvements ✅ <br /> (secondary) | -0.4% | [-1.2%, -0.1%] | 25 |
46+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.1%] | 15 |
47+
48+
49+
#### Mixed
50+
51+
Rollup of 4 pull requests [#146304](https://github.com/rust-lang/rust/pull/146304) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=23718020b12d7e5a54f82a19910e8356ee719667&end=12eb345e5593a10e61b4aef766076c8bd552fea6&stat=instructions:u)
52+
53+
| (instructions:u) | mean | range | count |
54+
|:----------------------------------:|:-----:|:--------------:|:-----:|
55+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.4%] | 8 |
56+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 0.9%] | 13 |
57+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
58+
| Improvements ✅ <br /> (secondary) | -2.7% | [-2.9%, -2.5%] | 6 |
59+
| All ❌✅ (primary) | 0.2% | [-0.2%, 0.4%] | 9 |
60+
61+
Seems to be caused by https://github.com/rust-lang/rust/pull/146297, pinged the author and continuing the discussion there.
62+
63+
Ignore intrinsic calls in cross-crate-inlining cost model [#145910](https://github.com/rust-lang/rust/pull/145910) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2f3f27bf79ec147fec9d2e7980605307a74067f4&end=a09fbe2c8372643a27a8082236120f95ed4e6bba&stat=instructions:u)
64+
65+
| (instructions:u) | mean | range | count |
66+
|:----------------------------------:|:-----:|:--------------:|:-----:|
67+
| Regressions ❌ <br /> (primary) | 1.0% | [0.3%, 2.4%] | 10 |
68+
| Regressions ❌ <br /> (secondary) | 1.9% | [0.2%, 3.0%] | 9 |
69+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.7%, -0.4%] | 5 |
70+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.1%] | 14 |
71+
| All ❌✅ (primary) | 0.5% | [-0.7%, 2.4%] | 15 |
72+
73+
Already triaged by reviewer. Justified in PR description. Should be an improvement overall, but causes a lot of CGU perturbation in our benchmark suite.
74+
75+
eagerly compute `sub_unification_table` again [#140375](https://github.com/rust-lang/rust/pull/140375) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a78f9aa87fa828ad4a5c11f1e3b93e94d9352ad6&end=9c27f27ea3bab79a2fec827ef3ae0009959d60f4&stat=instructions:u)
76+
77+
| (instructions:u) | mean | range | count |
78+
|:----------------------------------:|:-----:|:--------------:|:-----:|
79+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 1.4%] | 61 |
80+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.1%, 2.7%] | 71 |
81+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.8%, -0.1%] | 3 |
82+
| Improvements ✅ <br /> (secondary) | -0.9% | [-2.9%, -0.2%] | 21 |
83+
| All ❌✅ (primary) | 0.3% | [-0.8%, 1.4%] | 64 |
84+
85+
Expected regression, triaged by author and @Kobzol
86+
87+
Rollup of 11 pull requests [#146360](https://github.com/rust-lang/rust/pull/146360) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fefce3cecd63cebf2d7c9aa3dd90a84379fcfa1a&end=be8de5d6a0fc5cb2924e174a809a0aff303f281a&stat=instructions:u)
88+
89+
| (instructions:u) | mean | range | count |
90+
|:----------------------------------:|:-----:|:--------------:|:-----:|
91+
| Regressions ❌ <br /> (primary) | - | - | 0 |
92+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.4%] | 10 |
93+
| Improvements ✅ <br /> (primary) | - | - | 0 |
94+
| Improvements ✅ <br /> (secondary) | -0.6% | [-1.1%, -0.1%] | 9 |
95+
| All ❌✅ (primary) | - | - | 0 |
96+
97+
Tiny changes mostly in artificial stress tests, overall slightly positive. Probably not worth more investigation.
98+
99+
Rollup of 5 pull requests [#146409](https://github.com/rust-lang/rust/pull/146409) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7ad23f43a225546c095123de52cc07d8719f8e2b&end=565a9ca63e9df4b223fed0da01f15e578acfb538&stat=instructions:u)
100+
101+
| (instructions:u) | mean | range | count |
102+
|:----------------------------------:|:-----:|:--------------:|:-----:|
103+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.4%] | 3 |
104+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.2%] | 3 |
105+
| Improvements ✅ <br /> (primary) | - | - | 0 |
106+
| Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 1 |
107+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.4%] | 3 |
108+
109+
Some small regressions. I suspect the primary regressions in `unicode-normalization` come from https://github.com/rust-lang/rust/pull/144765, because it contains a few giant tables with a lot of range patterns. The other candidate would be https://github.com/rust-lang/rust/pull/146178 but I don't see anything that would be related in that benchmark.
110+
111+
Either way, together with the secondary benchmarks, all of those are tiny changes (0.002s) on tiny benchmarks, so I don't think this is worth more investigation.
112+
113+
Constify Eq, Ord, PartialOrd [#144847](https://github.com/rust-lang/rust/pull/144847) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a171994070dc18c3a32fc1aa2d98cf03ae96b63e&end=5c11fb842afc9876e985886c30292a227caee632&stat=instructions:u)
114+
115+
| (instructions:u) | mean | range | count |
116+
|:----------------------------------:|:-----:|:--------------:|:-----:|
117+
| Regressions ❌ <br /> (primary) | 0.1% | [0.1%, 0.1%] | 1 |
118+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.3%] | 8 |
119+
| Improvements ✅ <br /> (primary) | - | - | 0 |
120+
| Improvements ✅ <br /> (secondary) | -0.1% | [-0.2%, -0.1%] | 2 |
121+
| All ❌✅ (primary) | 0.1% | [0.1%, 0.1%] | 1 |
122+
123+
Slight regression in doc benchmarks, similar to [pre-merge results](https://github.com/rust-lang/rust/pull/144847#issuecomment-3189779391). Expected because of more const handling (looks like more time is spent in const related queries from a brief look at the detailed results of hello-world: https://perf.rust-lang.org/detailed-query.html?commit=5c11fb842afc9876e985886c30292a227caee632&benchmark=helloworld-doc&scenario=full&base_commit=a171994070dc18c3a32fc1aa2d98cf03ae96b63e)
124+
125+
Justified by https://github.com/rust-lang/rust/pull/144847#issuecomment-3193410781, if I understand correctly.

0 commit comments

Comments
 (0)