-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Hash Ident
spans in all HIR structures
#92534
Conversation
This PR removes all of the `#[stable_hasher(project(name))]` attributes used in HIR structs. While these attributes are not known to be causing any issues in practice, we need to hash these in order for the incremental system to work correctly - a query could be otherwise be incorrectly marked green when a change occures in one of the `Span`s that it uses.
(rust-highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 467b726 with merge e70d7c42c557e3314300eb6a0bf4a99bdbdfa358... |
☀️ Try build successful - checks-actions |
Queued e70d7c42c557e3314300eb6a0bf4a99bdbdfa358 with parent ddabe07, future comparison URL. |
Finished benchmarking commit (e70d7c42c557e3314300eb6a0bf4a99bdbdfa358): comparison url. Summary: This change led to large relevant regressions 😿 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR led to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
This is a subset of #92210, but without parts that are really problematic for performance. |
📌 Commit 467b726 has been approved by |
⌛ Testing commit 467b726 with merge 7a0a0a233a0b289f1b1c29d30abed4fa94642de5... |
💔 Test failed - checks-actions |
@bors retry |
⌛ Testing commit 467b726 with merge 6299c843455584a472fb8abe92b600eafc7f732e... |
💥 Test timed out |
@bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (092e1c9): comparison url. Summary: This change led to large relevant regressions 😿 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression |
@Aaron1011 @petrochenkov am I correct in assuming that we're on with the perf regressions since this is a correctness fix? Is there any path potentially for gaining some of the perf back? I see that this is a subset of #92210 which has absolutely horrific performance regressions. Would it make sense to try to gain back as much of the perf lost with this PR first before landing the subsequent one? |
This PR removes all of the
#[stable_hasher(project(name))]
attributes used in HIR structs. While these attributes are not known
to be causing any issues in practice, we need to hash these in
order for the incremental system to work correctly -
a query could be otherwise be incorrectly marked green
when a change occures in one of the
Span
s that it uses.