-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Remove DropArena
.
#90919
Remove DropArena
.
#90919
Conversation
Most arena-allocate types that impl `Drop` get their own `TypedArena`, but a few infrequently used ones share a `DropArena`. This sharing adds complexity but doesn't help performance or memory usage. Perhaps it was more effective in the past prior to some other improvements to arenas. This commit removes `DropArena` and the sharing of arenas via the `few` attribute of the `arena_types` macro. This change removes over 100 lines of code and nine uses of `unsafe` (one of which affects the parallel compiler) and makes the remaining code easier to read.
r? @jackh726 (rust-highfive has picked a reviewer for you, use r? to override) |
If all goes well, this won't affect performance at all. @bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit fb80c73 with merge 058077a231e47388f5d3ff792aebd54885ebe43f... |
☀️ Try build successful - checks-actions |
Queued 058077a231e47388f5d3ff792aebd54885ebe43f with parent 4205481, future comparison URL. |
Finished benchmarking commit (058077a231e47388f5d3ff792aebd54885ebe43f): comparison url. Summary: This change led to moderate 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 |
I think those results basically equate to noise. This change really should have a negligible effect because |
I agree that the results are unlikely to be meaningful in practice and/or are worth the cleanup. @bors r+ |
📌 Commit fb80c73 has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (d914f17): comparison url. Summary: This change led to very large relevant mixed results 🤷 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 |
As above, we think these changes are just noise.
All of which is consistent with noise, IMO. |
Yeah it's noise. |
Most arena-allocate types that impl
Drop
get their ownTypedArena
, but afew infrequently used ones share a
DropArena
. This sharing adds complexitybut doesn't help performance or memory usage. Perhaps it was more effective in
the past prior to some other improvements to arenas.
This commit removes
DropArena
and the sharing of arenas via thefew
attribute of the
arena_types
macro. This change removes over 100 lines ofcode and nine uses of
unsafe
(one of which affects the parallel compiler) andmakes the remaining code easier to read.