Premium
Pitfalls of conservative garbage collection
Author(s) -
Wentworth E. P.
Publication year - 1990
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380200707
Subject(s) - garbage collection , lisp , interpreter , heap (data structure) , manual memory management , computer science , garbage , programming language , memory leak , leakage (economics) , economics , macroeconomics
Researchers have recently proposed conservative garbage collection as a technique which allows smooth integration of automatic memory management into existing high‐level languages. Conservative techniques carry the cost of some leakage‐they fail to reclaim all the available garbage. This paper reports on a conservative collector and measurements of its leakage. The results indicate that the loss depends critically on the application: a Lisp interpreter shows very small leakage (typically less than 5 per cent of the total heap space for classroom examples), whereas the garbage collector collapses completely when used with a KRC interpreter. Uncovering the reasons reveals that it is possible to write Lisp programs that also fail. Previous work has used very sparsely populated address spaces where the probability for leakage was minimized. This work considers small, densely populated address spaces, and probably represents a worst‐case scenario. Although the conservative technique appears to be a cost‐effective and clean way of integrating automatic memory management into an off‐the‐shelf host language, we are led to conclude that it is not reliable in all situations.