An adaptive tenuring policy for generation scavengers
- 2 January 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 14 (1) , 1-27
- https://doi.org/10.1145/111186.116734
Abstract
One of the more promising automatic storage reclamation techniques, generation scavenging, suffers poor performance if many objects live for a fairly long time and then die. We have investigated the severity of this problem by simulating a two-generation scavenger using traces taken from actual 4-h sessions. There was a wide variation in the sample runs, with garbage-collection overhead ranging from insignificant, during three of the runs, to severe, during a single run. All runs demonstrated that performance could be improved with two techniques: segregating large bitmaps and strings, and adapting the scavenger's tenuring policy according to demographic feedback. We therefore incorporated these ideas into a commercial Smalltalk implementation. These two improvements deserve consideration for any storage reclamation strategy that utilizes a generation scavenger.Keywords
This publication has 8 references indexed in Scilit:
- An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypesPublished by Association for Computing Machinery (ACM) ,1989
- A third generation Smalltalk-80 implementationACM SIGPLAN Notices, 1986
- Architecture of the Symbolics 3600ACM SIGARCH Computer Architecture News, 1985
- Static grouping of small objects to enhance performance of a paged virtual memoryACM Transactions on Computer Systems, 1984
- A real-time garbage collector based on the lifetimes of objectsCommunications of the ACM, 1983
- An efficient, incremental, automatic garbage collectorCommunications of the ACM, 1976
- A method for overlapping and erasure of listsCommunications of the ACM, 1960
- Recursive functions of symbolic expressions and their computation by machine, Part ICommunications of the ACM, 1960