Re: Divide and conquer GC algorithms
"Jon Harrop" <[email protected]> Sat, 12 Nov 2011 18:43:46 -0000
| Newsgroups | gmane.comp.programming.garbage-collection.general |
|---|---|
| Message-ID | <[email protected]> |
Yes, traditional reference counting is extremely fine-grained but what if it could also handle coarser grains? For example, if values become unreachable in clumps then it is surely valuable to be able to track the number of references to either A or B in a pair (A, B) in order to deallocate both simultaneously if they both die at the same time. There could be fewer reference counts to increment and decrement and it would be possible to reclaim multiple heap-allocated blocks in a single operation. It might even be possible to replace the count of the number of direct references to each value with a count of the number of values from which it is reachable... > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of David S. Wise > Sent: 12 November 2011 15:26 > To: Jon Harrop > Cc: [email protected] > Subject: Re: [gclist] Divide and conquer GC algorithms > > On 2011 Nov 12, at 4:31, Jon Harrop wrote: > > gradually refine the granularity. > > > Absent the intervening degrees of graularity but.... > 'Tis important to appreciate that, way down at or near each mutation, reference > counting is extremely granular and, therefore, remains most interesting for > supporting parallel processing. > And that is why---in the face of ubiquitous "But it doesn't work for circular > structures" dismissals---it is used every day by each of us to sustain our > persistent file systems (e.g. the Unix HFS). > d > ==== > David S. Wise +1(360)582-9233 ; fax: +1(360)582-9233 [email protected] > Computer Science Emeritus, Indiana University > http://www.cs.indiana.edu/~dswise/