>
>
>
> If you are saying that the nursery sweep is fast enough that it does not
> contribute significantly to pause times, then that would apply to all of
> these types of collectors. The main difference (in that regard) between
> concurrent and on-the-fly collectors is that nursery sweeps do not require
> cross-thread coordination.
>

It does apply to all collectors but other collectors have Generational
heaps that do have long global pauses instead of a ref counted main heap .
So they need concurent / on the fly strategies to manage the pauses. Ref
counting does not have global pauses.

If you have a medium nursery  say as we mentioned before of a number of
blocks which were locally allocated ( on diffirent threads ( but only 1
block on any thread to avoind interlock ) and then you have a Ref counted
heap . Where do your global pause times come from
1. Nursery Sweep , but even this can be quite fast especially if done in
parralel
2. Some root scan for cycles  detection ( and cycles can be removed behind
the scenes onces found)

So we have small global pauses , low allocator pauses ( per thread nursery
and quite large ) and good performance . What does all the concurrent /On
the fly collection get us ?

There is no syncronization as all the Nursery blocks get swept together in
a parralel stop the world .


Ben
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to