@Article{ appel88simple, author = {Andrew W. Appel}, title = {Simple Generational Garbage Collection and Fast Allocation}, journal = {Software Practice and Experience}, volume = {19}, number = {2}, publisher = {Wiley}, pages = {171--183}, year = {1989}, urlbib = {http://www.cs.ucsb.edu/~grze/papers/gc/appel88simple.bib}, url = {http://www.cs.ucsb.edu/~grze/papers/gc/appel88simple.bib}, pdf = {http://www.cs.ucsb.edu/~grze/papers/gc/appel88simple.pdf}, abstract = {Generational garbage collection algorithms achieve efficiency because newer records point to older records; the only way an older record can point to a newer record is by a store operation to a previously created record, and such operations are rare in many languages. A garbage collector that concentrates just on recently allocated records can take advantage of this fact. Such a garbage collector can be so efficient that the allocation of records costs more than their disposal. A scheme for quick record allocation attacks this bottleneck. Many garbage-collected environments do not know when to ask the operating system for more memory. A robust heuristic solves this problem. This paper presents a simple, efficient, low-overhead version of generational garbage collection with fast allocation, suitable for implementation in a Unix environment.}, keyword = {Garbage Collection} }