comp.lang.ada
 help / color / mirror / Atom feed
From: beckwb@ois.com (R. William Beckwith)
Subject: Re: Reference Counting (was Re: Searching Method for Incremental Garbage Collection)
Date: 29 Nov 1994 16:27:46 -0500
Date: 1994-11-29T16:27:46-05:00	[thread overview]
Message-ID: <3bg6ci$18k@gamma.ois.com> (raw)
In-Reply-To: 3bfprn$okr@scipio.cyberstore.ca

Kevin Warne (kevinw@whistler.com) wrote:

: Depending on the number of inc/decs, the cost of RCing can be very
: significant.  A single inc + dec that hits on-chip cache would 
: take 6 cycles.  Multiply by the avg. number of inc/decs taken
: per object and the cost and percentage of cache misses and I think
: you'll find the incrementing and decrementing operations are 
: consequential after all.

An incr/decr only occurs when there is a change to the graph of
objects.  If the graph does not change, then there is not need
to incr/decr the counts.

Paul Wilson's RT, generational, incremental GC'tor causes work
when the graph of objects is changed (write barrier).  Surely,
the color changes required with a graph change can be as fast
as a simple incr/decr operation.

Maybe my perspective is skewed because I have been RC'ing in Ada 9X.
I realize that C++ calls a copy constructor if you pass an object
as an argument by value.  But I was under the assumption that every
C++ RC'ing implementation worth its salt would require that the
reference objects are passed by reference (&).

The other trick about RC'ing is that you don't have to keep the
counts in the objects, you can keep them all in the same data
structure so that you pages are unnecessarily dirtied.

... Bill

------------------------------------------------------
e-mail: Bill.Beckwith@ois.com        |    Team Ada
Objective Interface Systems, Inc.    | dist, full O-O
1895 Preston White Drive, Suite 250  | multithreading
Reston, VA  22091-5448  U.S.A.       |    built in



       reply	other threads:[~1994-11-29 21:27 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CzHCvp.9rM@rheged.dircon.co.uk>
     [not found] ` <TFB.94Nov21091959@burns.cogsci.ed.ac.uk>
     [not found]   ` <RFB.94Nov27213114@cfdevx1.lehman.com>
     [not found]     ` <3be0mh$1p7@gamma.ois.com>
     [not found]       ` <3bfprn$okr@scipio.cyberstore.ca>
1994-11-29 21:27         ` R. William Beckwith [this message]
1994-11-30  2:27           ` Reference Counting (was Re: Searching Method for Incremental Garbage Collection) Henry G. Baker
     [not found]           ` <DAG.94Nov30090717@bellman.control.lth.se>
1994-11-30 16:39             ` David Weller
1994-11-30 17:58               ` Erik Naggum
1994-11-30 23:14                 ` Michael Feldman
1994-12-09 14:19                 ` Ada 95 is the name Tucker Taft
1994-12-09 22:33                   ` Pat Rogers
1994-12-11 18:59                     ` Jean D. Ichbiah
1994-12-11 20:05                       ` Pat Rogers
1994-12-16  1:01                         ` Bob Duff
1994-12-12 14:50                       ` Garlington KE
1994-12-13 21:48                         ` Tucker Taft
1994-12-14 12:44                         ` Gentle
1994-12-14 17:34                         ` Jean D. Ichbiah
1994-12-10 10:10                   ` Marc Wachowitz
1994-12-11 21:37                     ` Bob Duff
1994-12-02 23:41             ` Reference Counting (was Re: Searching Method for Incremental Garbage Collection) Bob Duff
1994-12-03  8:16               ` Bill Birch
1994-11-30 18:59           ` Hans Boehm
1994-12-01  3:20             ` R. William Beckwith
1994-12-01  3:51               ` R. William Beckwith
1994-12-01 13:59               ` Henry G. Baker
1994-12-02  4:26                 ` R. William Beckwith
1994-12-02 21:37               ` Hans Boehm
1994-12-03 15:17                 ` Henry G. Baker
1994-12-09 22:07                   ` Bob Duff
1994-12-11 23:59                     ` Gary McKee
1994-12-12  5:04                       ` Henry G. Baker
1994-12-12 12:46                         ` R. William Beckwith
1994-12-16 19:35                         ` Bob Duff
1994-12-17 20:36                           ` Robert Dewar
1994-12-20  5:24                           ` Henry G. Baker
1994-12-12  9:36                     ` Robb Nebbe
1994-12-13 16:12                     ` Henry G. Baker
     [not found]     ` <3be0mh$1p7@ga <3bii2g$kn2@news.parc.xerox.com>
1994-12-01  4:58       ` Kevin Warne
1994-12-02 21:58         ` Hans Boehm
     [not found] <D06r8x.JBy@inmet.camb.inmet.com>
1994-12-02 17:32 ` Henry G. Baker
1994-12-05 20:59   ` Robert Firth
1994-12-06 14:15     ` Robert Dewar
1994-12-04  1:06 ` Rick Busdiecker
1994-12-04 18:57   ` R. William Beckwith
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox