Boost logo

Boost :

From: Thant Tessman (thant_at_[hidden])
Date: 2000-08-09 09:52:11


> Date: Wed, 9 Aug 2000 07:01:31 -0400
> From: "Michael H. Cox" <mhcox_at_[hidden]>
> Subject: RE: really smart pointers submission
>
>
> > From: Thant Tessman [mailto:thant_at_[hidden]]
> > Sent: Monday, August 07, 2000 12:05 PM
> > To: boost_at_[hidden]
> > Subject: Re: [boost] really smart pointers submission

[...]

>
> > To be honest, I'm just happy it works at all. I don't follow the C++
> > literature religiously, but I haven't seen this problem addressed in a
> > general way before.
>
> This type is more general than just C++. If you search the literature for
> "garbage collection", you should probably find tons of literature. Also,
> there is a product or company (can't remember which) called Great Circle
> that does C++ garbage collection. You might check with some of their
> product literature to get some ideas of what techniques they're using and
> performance characteristics they have (or claim to have ;-).

I took your advice. The Great Circle garbage collector has two modes.
The first seems to be the same kind of conservative mark-and-sweep
collector as the Boehm-Demers-Weiser collector. The second requires not
only that you use their smart pointer, but (unlike mine) also requires
that your objects derive from a specific base class provided. The first
mode requires very little effort on the part of the programmer to take
advantage of. The second mode claims to be faster and offer more
control.

While the Great Circle and Boehm collectors look extremely useful, my
goal was to come up with a GC solution that was entirely expressed
within the C++ language itself, and didn't rely on platform-specific
magic. (This is what I haven't seen much written about. I welcome
references.) The "contains" function, as far as I can tell, is in theory
the only part of the implementation that isn't fully portable, although
it should work on most hardware.

Update: Daryle Walker has done a really great job of refining and
"boostifying" the implementation. He says he has more work to do, but
he'll upload it to the boost file server when he thinks it's ready.

-thant


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk