4 ms·
Go trades the complexity of a compacting GC for forcing you to restart the app regularly if you have a workload with plenty of heap allocation.
by tychver 9y ago
Go trades the complexity of a compacting GC for forcing you to restart the app regularly if you have a workload with plenty of heap allocation.
- weberc2 9y agoReally? I've never heard anyone mention this and I've followed Go for years.
- tychver 9y agoYeah, it mostly happens when you have a server which runs an abnormally large task or payload, causes the heap to grow, and does it in a way that Go can't release the memory back to the OS due to heap fragmentation. I haven't looked at this for a while but I believe it's still an issue. https://github.com/cockroachdb/cockroach/issues/2007 https://github.com/cockroachdb/cockroach/issues/2007 https://github.com/golang/go/issues/18896 https://github.com/golang/go/issues/18896 https://github.com/golang/go/issues/14045 https://github.com/golang/go/issues/14045