對於以下的代碼:夠程大小中Golang不增加而線性
const LOOPNUM int = 200000
func main() {
z := make(chan int16)
for i := 0; i < LOOPNUM; i++ {
go test(z)
}
}
func test(a chan<- int16) {
a <- -1
}
我跑與LOOPNUM = 200K和400K的代碼,並且存儲器使用情況是這樣的:
有沒有人知道在我的goroutines加倍(以及減少內存使用的任何解決方案)後突然記憶增加的原因?
謝謝!
你用什麼度量來衡量你的記憶力?從go運行時打印相關的內存統計信息,該內存統計信息將準確指示已分配的內容。 – JimB