|
Boost : |
From: Larry Evans (jcampbell3_at_[hidden])
Date: 2001-05-23 19:31:50
John Max Skaller wrote:
> Beman Dawes wrote:
>
> > Greg Colvin, Kevlin Henney, and I discussed smart pointer "big-picture"
> > issues at the recent C++ committee meeting.
>
> []
>
> You might also look at the experimental Felix GC system
> available on boost. This combines reference counting
> with garbage collection to solve some of the problems
> ref counting has with circular data structures.
>
> The basic idea is to collect garbage, but to solve
> some of the performance and order and time
> of finalisation problems by also supporting
> reference counting and explicit destruction.
>
> Although usage is not transparent, arbitrary
> data types can be collected (the technique
> is non-invasive). Of some 'Standards conformance'
> interest is that finalisers need not call destructors.
The gc_sel_ssp.doc file which I've just uploaded has a comparison
of some existing boost gc methods. The cyclic_ptr method
is also non-invasive and does not suffer from the
"dynamic proxy container problem" which I believe the Felix method
does suffer from, as I suggested in another recent boost post. I
also think cyclic_ptr may be fastest doing the collection, but this is offset
some by the more frequent need to update refcounts. However,
the comparisons still need some work. The cyclic_ptr analysis is
the most advanced. Of course I would also appreciate any corrections
of the analysis done so far.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk