mab*_*abn 14 garbage-collection jvm go
所以有:https://groups.google.com/forum/?fromgroups#!topic/golang-dev/Ab1sFeoZg_8:
今天我向垃圾收集器提交了更改,这些更改使得典型的最坏情况下的停止世界时间小于100微秒.这应该特别改善具有许多活动goroutine的应用程序的暂停,这可能会显着延长暂停时间.
如果JVM用户长时间挣扎,那么高GC暂停就是其中之一.
什么是(架构?)约束阻止JVM将GC暂停降低到Go级别,但是不影响Go?
the*_*472 22
什么是(架构?)约束阻止JVM将GC暂停降低到golang级别
没有.
如果JVM用户长时间挣扎,那么高GC暂停就是其中之一.
一个小的谷歌搜索显示类似的解决方案也可用于Java
与Go的不同,openjdk中的其他收藏家是紧凑型世代收藏家.这是为了避免碎片问题,并通过启用凹凸指针分配和减少在GC中花费的CPU时间,在具有大堆的服务器级机器上提供更高的吞吐量.至少在良好的条件下,CMS可以实现一位数的毫秒暂停,尽管与移动的年轻代收集器配对.
Go的收集器是非代数的,非压缩的,并且需要写入障碍(请参阅其他SO问题),这会导致较低的吞吐量/更多的CPU开销,更高的内存占用(碎片)以及更少的缓存高效的对象放置堆(非紧凑的内存布局).