1.5+中的Golang垃圾收集器改进会影响释放的内存量吗?

时间:2016-02-07 04:04:11

标签: memory-management go garbage-collection

Google已经在垃圾收集器的最后两个主要版本中取得了巨大进步。与之前相比,垃圾收集器运行的时间量几乎可以忽略不计。我想知道这些改进是否会牺牲其他任何东西。

在垃圾收集运行中,1.6仍然会像去1.4那样解除分配吗?

垃圾收集实际上是否会在运行时解除分配可能的所有内容,或者它是否会让步以加快速度?

1 个答案:

答案 0 :(得分:2)

这取决于您的堆内存使用模式。主要目标是有效地使用内存,垃圾收集器(GC)具有更可预测和更短暂停的时间。为实现此目的,CPU使用量会有所增加,除非必要,否则可能会将一些垃圾收集推迟到GC的下一次运行。 GC将更频繁地运行并更好地利用可用内核。一般来说,人们会报告更短,更均匀的停顿。一般来说,这是一个巨大的胜利。 Go 1.6改进了Go 1.5,这是新GC的第一个版本。 Go 1.7会更好。

为减少不必要的GC使用量而进行的精心编程会对性能产生重大影响。