"Compacting the Uncompactable" by Bobby Powers
Why Hacker News recommends it
Recommended as a great talk on solving fragmentation for C/C++ and runtimes like Ruby and Python without code changes.
What it is
Bobby Powers presents Mesh, a drop-in malloc replacement that eliminates memory fragmentation in unmodified C/C++ programs by compacting memory. The talk covers how it works despite C's fixed object addresses, and its benefits for programs like Redis.
Recommended by 3 HN commenters across 3 different months, 2020 to 2025.
What Hacker News said
Recommends remexre · 2020-12 · on “How the Python object system works”
There's an interesting talk [0] from Bobby Powers on how to make a malloc() and free() that perform compaction, to be able to release memory back to the operating system more frequently (and improve cache hit rates, etc.). But this isn't standard at all yet. [1]: [this video]
Recommends rtfeldman · 2022-07 · on “Reference count, don't garbage collect”
There was a great talk at Strange Loop about a drop-in malloc replacement which compacts. Apparently it actually led to memory usage improvements in industrial projects like Redis: [this video]
Recommends superjan · 2025-01 · on “Using black magic to make a fast circular buffer (2017)”
There’s a great paper from the group of Emery Berger, where they merge memory pages that become sparse. A kind of garbage collection for C and C++ languages. There’s also a good presentation about it on youtube. [LINK] The presentation: [this video]
Cites ssokolow · 2022-06 · on “Rust Is Hard, Or: The Misery of Mainstream Programming”
> but malloc/free based systems also have a relatively high memory overhead due to fragmentation In case you haven't seen it, there's been some interesting progress on that front: [this video]