-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Avoid adjusting TLS data twice for queries #90139
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
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 30b9d2b2726897caf735d37a6513a827c28d2744 with merge 019045026f3de24da13181f3957033803b0451a2... |
☀️ Try build successful - checks-actions |
Queued 019045026f3de24da13181f3957033803b0451a2 with parent e015ef5, future comparison URL. |
Finished benchmarking commit (019045026f3de24da13181f3957033803b0451a2): comparison url. Summary: This change led to large relevant mixed results 🤷 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 |
r=me, but let's confirm perf after #86038 merges |
There is only one GlobalCtxt ever.
Consider that an empty registered TLS is equivalent to an empty TLS.
☔ The latest upstream changes (presumably #90210) made this pull request unmergeable. Please resolve the merge conflicts. |
Based on #86038
Each query adjusts TLS information twice: once to adjust job id and record diagnostics, and once to record dependencies. This PR attempts to do it only once using dedicated functions for queries.
r? @Mark-Simulacrum
Blocked on #86038