Memory Management StudiesWe have conducted two memory management studies that answer the following long-debated, and sometimes controversial, questions. First, does custom allocation perform better than general-purpose allocation? Second, does garbage collection degrade or improve performance compared to manual memory management?
OOPSLA 2002: Reconsidering Custom Memory Allocation
with Ben Zorn & Kathryn McKinley
We show that a good general-purpose allocator is better (faster and more space-efficient) than all styles of custom allocators except regions, but these have serious problems. We introduce reaps (regions + heaps), which combine the flexibility and space efficiency of heaps with the performance of regions.
OOPSLA 2005: Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
with Matthew Hertz.
This paper provides empirical answers to an age-old question: is garbage collection faster/slower/the same speed as malloc/free? We introduce oracular memory management, an approach that lets us measure unaltered Java programs as if they used malloc and free. The result: a good GC can match the performance of a good allocator, but it takes 5X more space. If physical memory is tight, however, conventional garbage collectors suffer an order-of-magnitude performance penalty.
Talk: PowerPoint, PDF.