-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Handle def_ident_span
like def_span
.
#95880
Conversation
r? @lcnr (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 c57e96dc969cbec2730bf3ab84025789c10532bb with merge f3871fbc9a3c49fbaa3fb76744cb534d40ecbeb3... |
☀️ Try build successful - checks-actions |
Queued f3871fbc9a3c49fbaa3fb76744cb534d40ecbeb3 with parent 341883d, future comparison URL. |
Finished benchmarking commit (f3871fbc9a3c49fbaa3fb76744cb534d40ecbeb3): comparison url. Summary:
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 may lead 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 Footnotes |
Can this PR wait for #95899? It should remove the extra span decoding causing syntax context shift and the diffs in ui tests. |
I won't be available next week and it seems like you already have some thoughts here |
Ok, marking as blocked on #95899 then. |
rustc_metadata: Do not encode unnecessary module children This should remove the syntax context shift and the special case for `ExternCrate` in decoder in rust-lang#95880. This PR also shifts some work from decoding to encoding, which is typically useful for performance (but probably not much in this case). r? `@cjgillot`
Perf analysis in #95880 (comment): we encode more spans into metadata and invoke more queries, so the slight regression is to be expected. |
📌 Commit 1a881a4 has been approved by |
⌛ Testing commit 1a881a4 with merge 1a74efc900c1d81c0b847227351d221cbcb4939b... |
💔 Test failed - checks-actions |
@bors retry |
⌛ Testing commit 1a881a4 with merge 4e4b3f53906f88781b35d7cf137c260ffcab22b8... |
@bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (99930ac): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
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 Footnotes |
def_ident_span
had an ad-hoc status in the compiler.This PR refactors it to be a first-class citizen like
def_span
:def_span
.We do not remove the
Option
in the return type, since some items do not have an ident, AnonConsts for instance.