[1] http://openjdk.java.net/jeps/189 [2] https://www.azul.com/products/zing/
[1] http://openjdk.java.net/jeps/189 [2] https://www.azul.com/products/zing/
In particular, Go's GC is not yet generational from the talks I've seen, which is a large throughput loss compared to the GC of the JVM.
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc...
Go will receive those feature requests too. The Go developers may not be as willing to provide so many knobs (which is a position I'm entirely sympathetic to, don't get me wrong). But the settings always exist, regardless of whether Google hammers in values for them or leaves them adjustable. GC is full of tradeoffs; they're fundamental to the problem.
There are many other flags too, and you can tune them if you want to squeeze more performance out of your system, but you don't have to use them if you don't want to.
Sometime just -O2 or -O3 aren't not enough, regardless how much tuning has gone into them.