Go 中,除了使用缓存池,如何减少 slice 的动态分配?
生活随笔
收集整理的這篇文章主要介紹了
Go 中,除了使用缓存池,如何减少 slice 的动态分配?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果是Read Only 的可以使用樓上的方法。
類(lèi)似于redis的內(nèi)存管理,初始化一個(gè)大slice,每次使用大slice的一部分
申明一個(gè)生命周期在函數(shù)foo以外的slice,每次復(fù)用這個(gè)slice(前提是你需要保證這樣沒(méi)問(wèn)題)
可以bar := make([]byte, n, capacity),預(yù)先指定一個(gè)容量。
這個(gè)問(wèn)題只能從你自身的需求來(lái)講,每次調(diào)用foo如果期望一個(gè)獨(dú)立的slice返回,那么只能這么辦了。如果不是這樣,可以考慮以下方法:
這種問(wèn)題是很單純的自己想多的。
類(lèi)似于redis的內(nèi)存管理,初始化一個(gè)大slice,每次使用大slice的一部分
申明一個(gè)生命周期在函數(shù)foo以外的slice,每次復(fù)用這個(gè)slice(前提是你需要保證這樣沒(méi)問(wèn)題)
可以bar := make([]byte, n, capacity),預(yù)先指定一個(gè)容量。
這個(gè)問(wèn)題只能從你自身的需求來(lái)講,每次調(diào)用foo如果期望一個(gè)獨(dú)立的slice返回,那么只能這么辦了。如果不是這樣,可以考慮以下方法:
這種問(wèn)題是很單純的自己想多的。
總結(jié)
以上是生活随笔為你收集整理的Go 中,除了使用缓存池,如何减少 slice 的动态分配?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CAD如何绘制指定长度的弧线
- 下一篇: 淋雨试验机使用说明快来看看吧!