- Each time a pointer is updated by the Go code, is it true that the
garbage collector must do some processing ?
What do you mean by updating a pointer?
I am sorry, I realize my assumption was incorrect.
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


     "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
      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
      In particular the mutators will have to monitor whether the mark phase
is active and* if so perform some write barrier work when mutating
      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.

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 7 of 13 | next ›
Discussion Overview
groupgolang-nuts @
postedOct 26, '14 at 8:48p
activeOct 27, '14 at 1:27p



site design / logo © 2021 Grokbase