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

runtime: adopt mesh allocation technique? #30290

Open
stapelberg opened this issue Feb 18, 2019 · 1 comment

Comments

@stapelberg
Copy link
Contributor

commented Feb 18, 2019

I recently came across Mesh: Compacting Memory Management for C/C++ Applications. From the paper:

It introduces Mesh, a novel memory allocator that acts as a plug-in replacement for malloc. Mesh combines remapping of virtual to physical pages (meshing) with randomized allocation and search algorithms to enable safe and effective compaction without relocation for C/C++.

The results look quite promising:

[…] it reduces the memory of consumption of Firefox by 16% and Redis by 39%.

I’m not familiar enough with Go’s allocator to say precisely whether we could adopt mesh (or parts of it), but I figured I’d bring it up, just in case the paper doesn’t already find its way to people working on Go’s allocator :)

@agnivade

This comment has been minimized.

Copy link
Member

commented Feb 18, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.