incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <>
Subject Re: Reference counting inside a GC host (was "real time updates")
Date Sun, 29 Mar 2009 13:43:47 GMT
On Sun, Mar 29, 2009 at 9:11 AM, Marvin Humphrey <> wrote:
> On Sun, Mar 29, 2009 at 06:01:16AM -0400, Michael McCandless wrote:
>> You might consider adding the hooks for a tracing collector, but not
>> creating such a collector now.  IE have each Lucy obj expose a method
>> to visit the other objs it refers to.
> We can probably have Boilerplater autogenerate that code.  That way we only
> have to only write one compiler module instead of manually maintaining methods
> for X hundred classes.

Excellent!  I guess Boilerplate knows enough about the members of an
object to determine which are objects vs which are atomic (and don't
need visiting by tracer).

>> I think you'd be surprised at how easily cycles are accidentally created.
>> It's sort of like saying programmers are accustomed to writing high
>> performance code, but then an O(N^2) slips in somewhere and goes
>> undetected until N happens to get large deep in production.
> Heh.  Or a reference cycle leak slips in that happens to get large and causes
> a performance hit in production.  Been there done that.

Tell me about it.  We all have our battle scars ;)  I've had great
"fun" writing tools in Python to trace the sneaky cycles... once an
app gets big enough it's practically impossible to prevent accidental


View raw message