This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gc notes available


>>>>> "Marius" == Marius Vollmer <mvo@zagadka.ping.de> writes:

Doh, forgot to send this to the list :)

    Marius> [ compared to just a function call when making write
    Marius> barriers explicit. ]

    Marius> But the assumption is that the page faults will be quite
    Marius> rare, no?  MOst mutations occur in the youngest
    Marius> generation, and the older generations are static so that
    Marius> they don't need to be treated at every gc turn.

One of the problems with this line of thinking is that actual data is
lacking.  So: as for the page fault itself, Ben Zorn has measurements
suggesting that the true cost of a protection fault may be close to
10,000 cycles in 1990. (Jones & Lin, _Garbage Collection_, p213), when
Urs Holzle has come up with a way to do write barriers in only two
additional SPARC instructions (p173 in same).

Even if Zorn's measurements are an order of magnitude off, it's still
ridiculous compared to the alternative.

    Marius> We would incur the function call overhead at every
    Marius> *potential* mutation of a older generation, not only at
    Marius> the *actual* mutations.

Yes, but this overhead is two instructions compared to thousands.
-- 
Graham Hughes <ghughes@cs.ucsb.edu>
PGP Fingerprint: 36 15 AD 83 6D 2F D8 DE  EC 87 86 8A A2 79 E7 E6