arXiv · 1902.04738
Mesh: Compacting Memory Management for C/C++ Applications
Abstract
Programs written in C/C++ can suffer from serious memory fragmentation, leading to low utilization of memory, degraded performance, and application failure due to memory exhaustion. This paper introduces Mesh, a plug-in replacement for malloc that, for the first time, eliminates fragmentation in unmodified C/C++ applications. Mesh combines novel randomized algorithms with widely-supported virtual memory operations to provably reduce fragmentation, breaking the classical Robson bounds with high probability. Mesh generally matches the runtime performance of state-of-the-art memory allocators while reducing memory consumption; in particular, it reduces the memory of consumption of Firefox by 16% and Redis by 39%.
Explore related subjects
Keep this discovery
Bobby Powers, David Tench, Emery D. Berger, Andrew McGregor. 2019-02-13. Mesh: Compacting Memory Management for C/C++ Applications. https://doi.org/10.1145/3314221.3314582
Cite the original work for its findings. Save a collection to share your selection of sources.