Sciweavers

PLDI
2005
ACM

Automatic pool allocation: improving performance by controlling data structure layout in the heap

13 years 10 months ago
Automatic pool allocation: improving performance by controlling data structure layout in the heap
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct instances of heap-based data structures into seperate memory pools and allows heuristics to be used to partially control the internal layout of those data structures. The primary goal of this work is performance improvement, not automatic memory management, and the paper makes several new contributions. The key contribution is a new compiler algorithm for partitioning heap objects in imperative programs based on a context-sensitive pointer analysis, including a novel strategy for correct handling of indirect (and potentially unsafe) function calls. The transformation does not require type safe programs and works for the full generality of C and C++. Second, the paper describes several optimizations that exploit data structure partitioning to further improve program performance. Third, the paper evaluates how memory hierarchy behavior and overall program performance are impacted by the n...
Chris Lattner, Vikram S. Adve
Added 26 Jun 2010
Updated 26 Jun 2010
Type Conference
Year 2005
Where PLDI
Authors Chris Lattner, Vikram S. Adve
Comments (0)