Conversation
|
If I look at libgkrust.a in Firefox, the
So in terms of size, at least in the case of Firefox, this patch more than undoes the regression. I don't think it should affect performance, but we'll see. |
|
Would it make sense to instead mark |
|
Oh I missed #78483, sorry. |
|
This looks like the right inlining boundary as intended by @nnethercote. #78471 reported |
|
It may only happen with -Clto. |
|
Ah, that looks like it: I need both -Clto and a sufficiently large inline-threshold (larger than the opt-level=3 default). Can you build your libgkrust.a with an inlining boundary at |
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion |
|
⌛ Trying commit 068782448bdf657c6be701c14835d03e1d322c90 with merge 452835b56923f7ef0f8d102f1e96c939cec7af07... |
|
☀️ Try build successful - checks-actions |
|
Queued 452835b56923f7ef0f8d102f1e96c939cec7af07 with parent 7b5a9e9, future comparison URL. |
It happens in Firefox with
That would likely make things slower, similarly to #78483. |
|
Finished benchmarking try commit (452835b56923f7ef0f8d102f1e96c939cec7af07): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
I'm betting that |
I tried a number of things in and around This patch seems fine, though. I'm a little surprised I didn't never-inline @bors r+ |
|
📌 Commit 068782448bdf657c6be701c14835d03e1d322c90 has been approved by |
|
⌛ Testing commit 068782448bdf657c6be701c14835d03e1d322c90 with merge 1052db144c002891ffbd4517ea0071a222b52070... |
|
💔 Test failed - checks-actions |
How can one work around that? |
@alexcrichton do you understand why this change could have broken the test? |
|
FTR, I already validated that it still optimizes the |
|
Should we queue another round of perf tests for the SpecFromIterNested change? |
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion |
|
⌛ Trying commit 76bd145 with merge 1618e13494fc48a6834838c2d90011e29f0434ea... |
|
☀️ Try build successful - checks-actions |
|
Queued 1618e13494fc48a6834838c2d90011e29f0434ea with parent c16d52d, future comparison URL. |
|
Finished benchmarking try commit (1618e13494fc48a6834838c2d90011e29f0434ea): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
|
Wow, that is a really large savings in max-rss 🎉 |
|
max-rss is really noisy, compare to the noise run which shows similarly-sized fluctuations on other crates. |
|
i'm a bit out of the loop here, sry It looks like it is fine to land this PR as is rn and I would be fine with landing if #78682 (comment) is still up to date. It might even make sense to move that summary into the PR description so that it's added to the merge commit. @bors delegate+ |
|
✌️ @glandium can now approve this pull request |
|
I'll get new numbers and paste them in the PR message. I've never used bors myself, do I @-it with "rollup" when I'm done? |
|
@glandium you would say |
|
📌 Commit 76bd145 has been approved by |
|
damn it bors @bors r- |
|
@bors r=lcnr rollup=never |
|
📌 Commit 76bd145 has been approved by |
|
☀️ Test successful - checks-actions |
Fixes #78471.
Looking at libgkrust.a in Firefox, the sizes for the
gkrust.*.ofile is:#[inline(never)]ongrow_amortizedandgrow_exact, but that has some performance consequencesSo in terms of size, at least in the case of Firefox, this patch more than undoes the regression. I don't think it should affect performance, but we'll see.