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