Age-based garbage collection
Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , some of which postpone conside...
| Published in: | ACM SIGPLAN Notices |
|---|---|
| Main Authors: | , , |
| Format: | Article in Journal/Newspaper |
| Language: | English |
| Published: |
Association for Computing Machinery (ACM)
1999
|
| Subjects: | |
| Online Access: | https://doi.org/10.1145/320385.320425 https://dl.acm.org/doi/10.1145/320385.320425 https://dl.acm.org/doi/pdf/10.1145/320385.320425 |
| _version_ | 1838186008481366016 |
|---|---|
| author | Stefanović, Darko McKinley, Kathryn S. Moss, J. Eliot B. |
| author_facet | Stefanović, Darko McKinley, Kathryn S. Moss, J. Eliot B. |
| author_sort | Stefanović, Darko |
| collection | ACM Publications (Association for Computing Machinery) |
| container_issue | 10 |
| container_start_page | 370 |
| container_title | ACM SIGPLAN Notices |
| container_volume | 34 |
| description | Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , some of which postpone consideration of the youngest objects. Collecting less than the whole heap requires write barrier mechanisms to track pointers into the collected region. We describe here a new, efficient write barrier implementation that works for age-based and traditional generational collectors. To compare several collectors, their configurations, and program behavior, we use an accurate simulator that models all heap objects and the pointers among them, but does not model cache or other memory effects. For object-oriented languages, our results demonstrate that an older-first collector, which collects older objects before the youngest ones, copies on average much less data than generational collectors. Our results also show that an older-first collector does track more pointers, but the combined cost of copying and pointer tracking still favors an older-first over a generational collector in many cases. More importantly, we reopen for consideration the question where in the heap and with which policies copying collectors will achieve their best performance. |
| format | Article in Journal/Newspaper |
| genre | The Pointers |
| genre_facet | The Pointers |
| id | cracm:10.1145/320385.320425 |
| institution | Open Polar |
| language | English |
| op_collection_id | cracm |
| op_container_end_page | 381 |
| op_doi | https://doi.org/10.1145/320385.320425 |
| op_rights | https://www.acm.org/publications/policies/copyright_policy#Background |
| op_source | ACM SIGPLAN Notices volume 34, issue 10, page 370-381 ISSN 0362-1340 1558-1160 |
| publishDate | 1999 |
| publisher | Association for Computing Machinery (ACM) |
| record_format | openpolar |
| spelling | cracm:10.1145/320385.320425 2025-07-20T14:02:01+00:00 Age-based garbage collection Stefanović, Darko McKinley, Kathryn S. Moss, J. Eliot B. 1999 https://doi.org/10.1145/320385.320425 https://dl.acm.org/doi/10.1145/320385.320425 https://dl.acm.org/doi/pdf/10.1145/320385.320425 en eng Association for Computing Machinery (ACM) https://www.acm.org/publications/policies/copyright_policy#Background ACM SIGPLAN Notices volume 34, issue 10, page 370-381 ISSN 0362-1340 1558-1160 journal-article 1999 cracm https://doi.org/10.1145/320385.320425 2025-06-24T16:56:06Z Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, called age-based , some of which postpone consideration of the youngest objects. Collecting less than the whole heap requires write barrier mechanisms to track pointers into the collected region. We describe here a new, efficient write barrier implementation that works for age-based and traditional generational collectors. To compare several collectors, their configurations, and program behavior, we use an accurate simulator that models all heap objects and the pointers among them, but does not model cache or other memory effects. For object-oriented languages, our results demonstrate that an older-first collector, which collects older objects before the youngest ones, copies on average much less data than generational collectors. Our results also show that an older-first collector does track more pointers, but the combined cost of copying and pointer tracking still favors an older-first over a generational collector in many cases. More importantly, we reopen for consideration the question where in the heap and with which policies copying collectors will achieve their best performance. Article in Journal/Newspaper The Pointers ACM Publications (Association for Computing Machinery) ACM SIGPLAN Notices 34 10 370 381 |
| spellingShingle | Stefanović, Darko McKinley, Kathryn S. Moss, J. Eliot B. Age-based garbage collection |
| title | Age-based garbage collection |
| title_full | Age-based garbage collection |
| title_fullStr | Age-based garbage collection |
| title_full_unstemmed | Age-based garbage collection |
| title_short | Age-based garbage collection |
| title_sort | age-based garbage collection |
| url | https://doi.org/10.1145/320385.320425 https://dl.acm.org/doi/10.1145/320385.320425 https://dl.acm.org/doi/pdf/10.1145/320385.320425 |