Reconsidering "Reconsidering Custom Memory Allocation"
Nicolas van Kempen, Emery D. Berger

TL;DR
This paper reevaluates the effectiveness of custom memory allocators on modern hardware, confirming their locality benefits and extending prior findings with new benchmarks and methodologies.
Contribution
It revisits classic conclusions about custom allocators using modern hardware, benchmarks with real-world applications, and introduces a fragmentation-locality exploration methodology.
Findings
Region-based allocators improve locality and execution time.
Per-class allocators show no significant speedup.
Results support and extend original conclusions.
Abstract
Programmers using native languages such as C, C++, or Rust can implement custom memory allocation strategies to improve execution time. In their paper titled "Reconsidering Custom Memory Allocation" almost 25 years ago, Berger et al. showed that while per-class allocators provide no significant speedups over a state-of-the-art general-purpose allocator, region-based allocators can improve execution time by allocating and freeing objects in bulk. This paper revisits that work on a modern hardware platform with modern general-purpose allocators to evaluate whether their conclusions still hold. It also augments the benchmark suite with two large real-world applications (Clang and Blender), and introduces a methodology to explore the effect of memory fragmentation on locality in general-purpose allocators. Our results support and extend the original conclusions, demonstrating the locality…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
