Go GC如何检测内存对象中是否包含指针

释放双眼,带上耳机,听听看~!

在我们的实验环境中demo2中每轮GC的性能是demo1的300多倍!两个demo源码唯一的不同就是切片中的元素类型,demo1中的切片元素类型为int型指针。GC每次触发后都会全量扫描切片中存储的这10亿个指针,这就是demo1 GC函数执行时间很长的原因。而demo2中的切片元素类型为int,从demo2的运行结果来看,GC根本没有搭理demo2中的a,这也是demo2 GC函数执行时间较短的原因(我测试了一下:在我的环境中,即便不声明切片a,只是执行10次runtime.GC函数,该函数的平均执行时间也在1ms左右)。

【转自慕课】https://www.imooc.com

Go

Golang 网易云信(短信验证码) SDK

2022-3-3 18:47:14

Go

Go 语言 HTTP 客户端(代码高亮测试)

2022-3-7 9:05:13

搜索