-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Skip most of create_substs_for_ast_path
if type is not generic
#78194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
r? @varkor (rust_highfive has picked a reviewer for you, use r? to override) |
Let's check whether this makes a noticeable difference. @bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 4ff879a95a8c3d2b5af40d0e4f4fae1d2c285da1 with merge 4ed8fc0fbdb747ed9ee9a45505ddfc72d891cc08... |
Given the results of my previous few PRs, I expect a huge regression, actually 😅 |
☀️ Try build successful - checks-actions, checks-azure |
Queued 4ed8fc0fbdb747ed9ee9a45505ddfc72d891cc08 with parent 22e6b9c, future comparison URL. |
Finished benchmarking try commit (4ed8fc0fbdb747ed9ee9a45505ddfc72d891cc08): 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'll double-check this soon. |
There are a lot of |
It looks like an improvement on serde, alloc and a couple of others to me. Am I misreading the results? |
I was under the assumption that bootstrap times aren't really representative, but perhaps that has changed since. @Mark-Simulacrum I believe you know that? |
The smaller bootstrap timings are less reliable (since it's wall times). I would not say that the bootstrap timings are unreliable, though, we usually see roughly 2-3% noise on smaller crates (<30 seconds) and ~1% noise at most on the longer crates. That's about what we're seeing here. I don't think I would call this a major improvement, but it might be a slight improvement. |
Hmm, thanks for the explanation. I guess I misinterpreted a different comment on a random PR. |
I'm not entirely certain, but as far as I can see, every trait or trait ref should have a Note: If I force the assoc bindings to an empty vector, I get a nice (and wrong) error message while compiling core, so I think we're well covered on the not-generic-but-has-associated-type-binding case :)
|
@varkor a friendly ping just in case :) Let me know if my assesment sounds sane or I should try harder to find a test instead. |
Sorry, I'll take a look soon; I've just been a bit snowed under for the past few days! |
No worries, there's no rush here. |
Ah, yes, I think you're right. In this case, it ought to be safe to skip the rest of the body in this case. So I think the previous change was fine (but we should have a comment explaining why it's safe). Sorry for the false alarm: would you be able to change it back? |
Co-authored-by: varkor <github@varkor.com>
Thanks for this, and sorry for taking so long with it! @bors r+ rollup |
📌 Commit aebea52 has been approved by |
☀️ Test successful - checks-actions |
No description provided.