- Each time a pointer is updated by the Go code, is it true that the
What do you mean by updating a pointer?
I thought that Go 1.3 has an incremental GC. It is precise, but not
incremental yet.
The problem that some work must be done each time a pointer is updated
exists only with incremental GC, as indicated in the document below.
But the impact of this "write barrier work" should not be significant,
after all...
Go 1.4+ Garbage Collection (GC) Plan and Roadmap
https://docs.google.com/document/d/16Y4IsnNRCN43Mx0NZc5YXZLovrHvvLhK_h0KN8woTO4/edit
"In the sometimes redundant jargon of GC what we propose for 1.5 is a
non-generational, non-moving, concurrent, tri-color, mark and sweep
collector.
The mark phase establishes which objects are reachable.
The sweep phase establishes which objects are unreachable. Both will
be able to run concurrently with the mutators.
Of course achieving low latency will impact the throughput of the
mutators.
In particular the mutators will have to monitor whether the mark phase
is active and* if so perform some write barrier work when mutating
pointers.*
Furthermore each mutator will occasionally be asked to suspend and
scan its stack.
Similar to what we do today, mutator allocation may require the
mutator doing sweep work on behalf of the GC.
"
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.