-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Use TLS less in rustc_span #73110
Use TLS less in rustc_span #73110
Conversation
r? @davidtwco (rust_highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit ef67fa1673fb7bec5a74d473e81fad7a51c0ad77 with merge 38f031dba70e2d2ebd0484ffc5d7a659ab15d245... |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
☀️ Try build successful - checks-azure |
Queued 38f031dba70e2d2ebd0484ffc5d7a659ab15d245 with parent 0262de5, future comparison URL. |
Finished benchmarking try commit (38f031dba70e2d2ebd0484ffc5d7a659ab15d245): comparison url. |
Looks like noise mostly. |
This had a larger impact locally - I suspect that having debug assertions on may have interfered with some optimizations that would have otherwise happened. |
I'll re-evaluate this PR after #72121 lands |
#72121 has landed. |
I'm going to wait for #74932 before revisiting this. |
#74932 has landed. |
ef67fa1
to
fddd771
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit fddd771 with merge 5ab61fc94ec843fcd588f426711c86c4d42f17ce... |
☀️ Try build successful - checks-actions, checks-azure |
Queued 5ab61fc94ec843fcd588f426711c86c4d42f17ce with parent c989ac1, future comparison URL. |
Finished benchmarking try commit (5ab61fc94ec843fcd588f426711c86c4d42f17ce): 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 |
Up to 0.4% performance hit. Most is <0.2% |
Closing this, as the basic premise (it's faster to access |
Following the approach suggested in
#59718 (comment),
we store
rustc_span::Globals
inParseSess
. This allows us to avoidTLS lookups during Span/SyntaxContext/ExpnData hashing, since we can get
access to
ParseSess
viaHashStableContext