{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,13]],"date-time":"2026-02-13T13:30:05Z","timestamp":1770989405388,"version":"3.50.1"},"reference-count":12,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6480,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1989,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>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\u2010collected environments do not know when to ask the operating system for more memory. A robust heuristic solves this problem.<\/jats:p><jats:p>This paper presents a simple, efficient, low\u2010overhead version of generational garbage collection with fast allocation, suitable for implementation in a Unix environment.<\/jats:p>","DOI":"10.1002\/spe.4380190206","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:56:43Z","timestamp":1163797003000},"page":"171-183","source":"Crossref","is-referenced-by-count":197,"title":["Simple generational garbage collection and fast allocation"],"prefix":"10.1002","volume":"19","author":[{"given":"Andrew W.","family":"Appel","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/367177.367199"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/363269.363280"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(87)90175-X"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/358141.358147"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/800020.808261"},{"key":"e_1_2_1_7_2","doi-asserted-by":"crossref","unstructured":"David A.Moon \u2018Garbage collection in a large LISP system\u2019 ACM Symposium on LISP and Functional Programming 1984 pp.235\u2013246.","DOI":"10.1145\/800055.802040"},{"key":"e_1_2_1_8_2","doi-asserted-by":"crossref","unstructured":"Andrew W.Appel John R.EllisandKaiLi \u2018Real\u2010time concurrent collection on stock multiprocessors\u2019 Proc. ACM SIGPLAN 88 Conf. on Prog. Lang. Design & Implementation June1988 pp.11\u201320.","DOI":"10.1145\/960116.53992"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/362790.362798"},{"key":"e_1_2_1_10_2","unstructured":"Dianne E.Britton \u2018Heap storage management for the programming language Pascal\u2019 Masters Thesis University of Arizona 1975."},{"key":"e_1_2_1_11_2","volume-title":"Runtime tags aren't necessary","author":"Appel Andrew W.","year":"1988"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-18317-5_17"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180508"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380190206","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380190206","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T23:46:07Z","timestamp":1697931967000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380190206"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,2]]},"references-count":12,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1989,2]]}},"alternative-id":["10.1002\/spe.4380190206"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380190206","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1989,2]]}}}