-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Refactor metadata emission to avoid visiting HIR #98867
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 0352e85c59c8aec6ced184ab87e3d7455e11776d with merge 53503bdd30e1765a480927d18cace5a080153048... |
☀️ Try build successful - checks-actions |
Queued 53503bdd30e1765a480927d18cace5a080153048 with parent a5c6a48, future comparison URL. |
Finished benchmarking commit (53503bdd30e1765a480927d18cace5a080153048): 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. 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 |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit ed6a534bb3749c60d6ec1bd5694c1cfa1a0f007c with merge e2d28cf379dc34deeab5daf68f1316726a7fd782... |
☀️ Try build successful - checks-actions |
Queued e2d28cf379dc34deeab5daf68f1316726a7fd782 with parent 0aef720, future comparison URL. |
Finished benchmarking commit (e2d28cf379dc34deeab5daf68f1316726a7fd782): 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. 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 |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 7ee1f9283dffc0666901ce1dc4fab520d491ce30 with merge 3683610d9ef17a76e91d414ad339a0867c0f5dad... |
☀️ Try build successful - checks-actions |
⌛ Testing commit 0faea77 with merge 6a47fdf2f7a997e8d0ee1ad823a97b58d03835d5... |
💔 Test failed - checks-actions |
The job Click to see the possible cause of the failure (guessed by this bot)
|
@bors retry mips segfault |
⌛ Testing commit 0faea77 with merge 0db6b69abef78a00de06c2ac203661b316cbc641... |
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
@bors retry mips segfault |
☀️ Test successful - checks-actions |
Finished benchmarking commit (5bd28f5): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 663.439s -> 661.172s (-0.34%) |
Metadata and binary size has regressed somewhat, which was probably expected given this change (?). Max RSS improvements look really nice! |
Hmm, we can probably avoid the metadata regression by checking which items we're unnecessarily encoding now. |
This PR refactors metadata emission to be based on tables and iteration over definitions.
In a first part, this PR moves information from the
EntryKind
enum to tables, until removing theEntryKind
enum.In a second part, the iteration scheme is refactored to avoid fetching HIR unless strictly necessary.
r? @ghost