"Compacting the Uncompactable" by Bobby Powers

Strange Loop Conference3 HN recommenders · 2020–2025
29K views · talk · evergreen · Uploaded 2019-09-14

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 as a great talk on solving fragmentation for C/C++ and runtimes like Ruby and Python without code changes.

Watch on YouTube

4 comments from Hacker News

@remexre2020 · in “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]: [VIDEO]

RecommendsView on HN
@ssokolow2022 · in “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: [VIDEO]

@rtfeldman2022 · in “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: [VIDEO]

RecommendsView on HN
@superjan2025 · in “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: [VIDEO]

RecommendsView on HN