这里有一个设置权衡:“ 如果你想减少在GC上花费的总时间,增加GOGC,但是内存必须足够大。 如果你的内存少,你只能用更频繁的GC时间以节省内存,那么降低GOGC值'。
A profiling adventure to speed up Go 一文中谈到,他们使用Go进行大数据处理,使用很多goroutines作为管道进行数据处理,导致性能非常差,他们将GOGC设置为500以后,最大可能会使用70GB,每条记录处理性能延迟从300μs降低110μs,使用Go 1.8RC3替代Go 1.6,每条记录延迟又降低了 25μs到80μs。