GC and Threading
mm_lists at pulsar-zone.net
Fri Nov 6 17:26:03 UTC 2015
On Fri, 06 Nov 2015 00:12:40 +0100
Bix <strabixbox at yahoo.com> wrote:
> Yep, manage memory manually is impratical and as you said circular
> structures are one of the real problem.
With reference counting these should be a problem, although libgc is a
mark-and-sweep collector which should detect when elements are no
longer referenced more effectively.
> I played a bit with the boot option but I was unable to embed ECL and
> not have at least one additional thread spaw by the GC or it was the
> SIGNAL_HANDLING_THREAD ? However I always end up with at least two
> thread ( in Linux ), am I doing something wrong ?
ECL indeed starts a thread to handle signals when it is built with
> I tried to build with --enable-gengc but I'm unable to build, I think
> that is Issue #81.
Unfortunately I presonally have no experience using the generational
variant, but others here might have used it. I think that boehm-gc
itself only supports the option on a few select operating systems.
> I just noticed the cl_boot options allow INCREMENTAL_GC what the
> difference between that one and the autoconf option --enable-gengc
Presumably --enable-gengc allows to build optional support, and
INCREMENTAL_GC permits to enable said support for that instance.
I also noticed your question about share-nothing; this is what would
occur if you used actual OS processes for the instances.
More information about the ecl-devel