Skip to content
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

Merged
merged 1 commit into from
Sep 25, 2020

Conversation

tmiasko
Copy link
Contributor

@tmiasko tmiasko commented Sep 21, 2020

Allocating from the end of memory chunk simplifies the alignment code
and reduces the number of checked arithmetic operations.

Allocating from the end of memory chunk simplifies the alignment code
and reduces the number of checked arithmetic operations.
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 21, 2020
@Mark-Simulacrum
Copy link
Member

@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.

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Sep 21, 2020

⌛ Trying commit c7e887c with merge 022b652b3fbd002cda8094097c922fba0b3fbf53...

@bors
Copy link
Contributor

bors commented Sep 21, 2020

☀️ Try build successful - checks-actions, checks-azure
Build commit: 022b652b3fbd002cda8094097c922fba0b3fbf53 (022b652b3fbd002cda8094097c922fba0b3fbf53)

@rust-timer
Copy link
Collaborator

Queued 022b652b3fbd002cda8094097c922fba0b3fbf53 with parent e0bf356, future comparison URL.

@est31
Copy link
Member

est31 commented Sep 21, 2020

@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.

@rust-timer
Copy link
Collaborator

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 rollup- to bors.

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

@Mark-Simulacrum
Copy link
Member

Looks like a minor one on some benchmarks. Code looks good to me, and has "less operations" so seems good -- @bors r+

@bors
Copy link
Contributor

bors commented Sep 24, 2020

📌 Commit c7e887c has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 24, 2020
@bors
Copy link
Contributor

bors commented Sep 24, 2020

⌛ Testing commit c7e887c with merge 9b5c98f...

@bors
Copy link
Contributor

bors commented Sep 25, 2020

☀️ Test successful - checks-actions, checks-azure
Approved by: Mark-Simulacrum
Pushing 9b5c98f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 25, 2020
@bors bors merged commit 9b5c98f into rust-lang:master Sep 25, 2020
@rustbot rustbot added this to the 1.48.0 milestone Sep 25, 2020
@tmiasko tmiasko deleted the arena branch September 25, 2020 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants