Much research has been devoted to studies of and algorithms for memory
management based on garbage collection or explicit allocation and dea
llocation. An alternative approach, region-based memory management, ha
s been known for decades, but has not been well-studied. In a region-b
ased system each allocation specifies a region, and memory is reclaime
d by destroying a region, freeing all the storage allocated therein. W
e show that on a suite of allocation-intensive C programs, regions are
competitive with malloc/free and sometimes substantially faster. We a
lso show that regions support safe memory management with low overhead
. Experience with our benchmarks suggests that modifying many existing
programs to use regions is not difficult.