uber was able to solve there issue so the GC in golang seems perfectly fine.
uber was able to solve there issue so the GC in golang seems perfectly fine.
The optimizations the JVM does in the newer ones are well understood optimizations but don't address the root issues with implementing generational GC in golang.
the issues was with the write barriers and requirements around moving data which can't be avoided in generational GC implementations because you have to move data and update pointers.
most of the benefits of generational GC doesn't exist in golang because of escape analysis allocating data on the stack.
there isn't anything fundamentally wrong with golangs GC. attempting to apply the solutions for the JVM to golang is fundamentally flawed and ignorant.
the languages have fundamentally different approaches to memory allocations. and the reasons behind the JVM implementations simply do not exist in golang.
the new pacer is in the works to attempt addressing many of the edge cases. https://github.com/golang/proposal/blob/master/design/44167-...
you seem to lack fundamental understanding of what the actual issues in the golang runtime are with relation to its GC.
I'm not saying that Go should use GCs like Java's. I'm just saying that Go's GC does not work well enough for Go's needs, and that Java's GCs now deliver a better experience. Maybe Go needs something entirely different, but it does need something better than what it has now.