Garbage collection yields numerous software engineering benefits, but its quantitative impact on performance remains elusive. One can measure the cost of conservative garbage collection relative to explicit memory management in C/C++ programs by linking in an appropriate collector. This kind of direct comparison is not possible for languages designed for garbage collection (e.g., Java), because programs in these languages naturally do not contain calls to free. Thus, the actual gap between the time and space performance of explicit memory management and precise, copying garbage collection remains unknown.
|
390
|
Uniprocessor garbage collection techniques
– WILSON
- 1992
|
|
378
|
Evaluating future microprocessors: The simplescalar tool set
– Burger, Austin, et al.
- 1997
|
|
324
|
Garbage Collection: Algorithms for Automatic Dynamic Memory Management
– Jones, Lins
- 1996
|
|
288
|
Generation scavenging: A non-disruptive high performance storage management reclamation algorithm
– Ungar
- 1984
|
|
249
|
Recursive functions of symbolic expressions and their computation by machine
– MCCARTHY
- 1960
|
|
243
|
Garbage collection in an uncooperative environment
– Boehm, Weiser
- 1988
|
|
234
|
The Jalapeño virtual machine
– ALPERN, AL
- 2000
|
|
234
|
Region-based memory management
– Tofte, Talpin
- 1997
|
|
139
|
Region-based memory management in Cyclone
– Grossman, Morrisett, et al.
- 2002
|
|
105
|
Memory management with explicit regions
– Gay, Aiken
- 1998
|
|
101
|
Garbage collection can be faster than stack allocation
– Appel
- 1987
|
|
77
|
The measured cost of conservative garbage collection. Software Practice and Experience
– Zorn
- 1993
|
|
76
|
Language support for regions
– Gay, Aiken
- 2001
|
|
74
|
A LISP garbage-collector for virtual-memory computer systems
– FENICHEL, YOCHELSON
- 1969
|
|
68
|
Multiprocessing compactifying garbage collection
– STEELE
- 1975
|
|
62
|
Oil and water: High performance garbage collection in Java with MMTk
– Blackburn, Cheng, et al.
- 2004
|
|
58
|
Myths and realities: the performance impact of garbage collection
– Blackburn, Cheng, et al.
- 2006
|
|
56
|
The memory fragmentation problem: Solved
– Johnstone, Wilson
- 1998
|
|
49
|
Caching considerations for generational garbage collection
– Wilson, Lam, et al.
- 1992
|
|
47
|
Reconsidering custom memory allocation
– Berger, Zorn, et al.
- 2002
|
|
44
|
Garbage-first garbage collection
– Detlefs, Flood, et al.
- 2004
|
|
44
|
Fast allocation and deallocation of memory based on object lifetimes. 74 Practice and Experience
– Hanson
- 1990
|
|
36
|
Automatic inline allocation of objects
– Dolby
- 1997
|
|
33
|
Composing high-performance memory allocators
– Berger, Zorn, et al.
- 2001
|
|
29
|
Reducing garbage collector cache misses
– Boehm
- 2000
|
|
28
|
The Garbage Collection Advantage: Improving Program Locality
– Huang, Mckinley, et al.
|
|
26
|
Automatic heap sizing: Taking real memory into account
– Yang, Hertz, et al.
- 2004
|
|
24
|
Scalable lock-free dynamic memory allocation
– Michael
- 2004
|
|
22
|
Garbage collection without paging
– Hertz, Feng, et al.
- 2005
|
|
22
|
Experience with Safe Manual Memory-Management in Cyclone
– Hicks, Morrisett, et al.
|
|
21
|
Ulterior reference counting: Fast garbage collection without a long wait
– BLACKBURN, MCKINLEY
- 2003
|
|
20
|
Error-free garbage collection traces: how to cheat and not get caught
– HERTZ, BLACKBURN, et al.
|
|
20
|
A memory allocator
– Lea
- 1996
|
|
19
|
Memory system performance of programs with intensive heap allocation
– Diwan, Tarditi, et al.
- 1995
|
|
18
|
Dynamic SimpleScalar: Simulating Java virtual machines
– Huang, Moss, et al.
- 2003
|
|
18
|
Comparing Observed Bug and Productivity Rates for Java and
– Phipps
- 1999
|
|
17
|
Dynamic memory allocator implementations in Linux system libraries," www.dent.med.uni-muenchen.de/ ~wmglo/malloc-slides.html
– Gloger
|
|
17
|
The measured cost of copying garbage collection mechanisms
– Hicks, Moore, et al.
- 1997
|
|
15
|
MC 2 : High-performance garbage collection for memory-constrained environments
– Sachindran, Moss, et al.
- 2004
|
|
13
|
A Locality-Improving Dynamic Memory Allocator
– Feng, Berger
- 2003
|
|
13
|
Garbage collection is fast, but a stack is faster
– Miller, Rozas
- 1994
|
|
8
|
On the usefulness of liveness for garbage collection and leak detection
– Hirzel, Diwan, et al.
- 2001
|
|
8
|
The EELRU adaptive replacement algorithm
– Smaragdakis, Kaplan, et al.
- 2003
|
|
6
|
Framework for analyzing garbage collection
– Hertz, Immerman, et al.
- 2002
|
|
6
|
LBNL Traceroute Heap Corruption Vulnerability
– Savola
- 2000
|
|
5
|
Inside the Java Virtual Machine. McGraw-Hill Osborne
– Venners
- 2000
|
|
4
|
Implementing Jalepeño in Java
– Alpern, Attanasio, et al.
- 1999
|
|
4
|
Allocation without locking
– Appel
- 1989
|
|
3
|
An evaluation of object inline allocation techniques
– Dolby, Chien
- 1998
|
|
3
|
search of a better malloc
– In
- 1985
|