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: Future GC, the free list, and POSIX threads


Would this make it possible for one thread to GC at least its own cells
independently from the other threads? If this is possible, it is a big help
for writing GUI applications; one can often seperate out the GUI parts, which
hopefully don't make too much garbage, from the calculation bits. If
the calculator thread has to halt for GC from time to time then it is
not such a big deal as a pause when typing or in an animation. In my
ideal fantasy world, each thread could have its own GC tuning,
the GUI doing frequent, (hopefully) small GCs, while the back-end is
set for efficiency with few big collections. Is it possible to imagine
rather than a generational collector, a tree-like one, which collects
the young generations of each thread independently? Obviously, if you
have a thread that plays with variables in the root thread, it makes
root thread garbage and that has to be collected eventually. But it
makes a lot sense if thread local garbage can be collected without 
locking the other threads. I hope this is not deeply stupid.

Julian Satchell
<satchell@dera.gov.uk>