-
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
DroplessArena: Allocate objects from the end of memory chunk #77014
Conversation
Allocating from the end of memory chunk simplifies the alignment code and reduces the number of checked arithmetic operations.
@bors try @rust-timer queue I wanted to ask "Why does this not updated TypedArena?" but I then realized that TypedArena always increments by a constant size because it's uniformly sized, no need to worry about alignment. |
Awaiting bors try build completion |
⌛ Trying commit c7e887c with merge 022b652b3fbd002cda8094097c922fba0b3fbf53... |
☀️ Try build successful - checks-actions, checks-azure |
Queued 022b652b3fbd002cda8094097c922fba0b3fbf53 with parent e0bf356, future comparison URL. |
@Mark-Simulacrum another important point is that TypedArena always deallocates objects starting from the start. But the deallocation code for u8 is thankfully a no op, and not called anyways (clear is not called), so it's no big deal. |
Finished benchmarking try commit (022b652b3fbd002cda8094097c922fba0b3fbf53): 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 |
Looks like a minor one on some benchmarks. Code looks good to me, and has "less operations" so seems good -- @bors r+ |
📌 Commit c7e887c has been approved by |
☀️ Test successful - checks-actions, checks-azure |
Allocating from the end of memory chunk simplifies the alignment code
and reduces the number of checked arithmetic operations.