优艾设计网

Go 中,除了使用缓存池,如何减少 slice 的动态分配??

优艾设计网 https://www.uibq.com 2023-06-07 08:03 出处:网络 作者:电脑技术
比如,有这样一个函数: func fo优艾设计网_Photoshop交流o(n int) []byte { bar := make([]byte, n) ...do some thing with b return bar } bar := make([]byte, n)是一处动态内存分配,函数的其他部分不会再对bar的

比如,有这样一个函数:

func fo优艾设计网_Photoshop交流o(n int) []byte { bar := make([]byte, n) ...do some thing with b return bar }

bar := make([]byte, n)是一处动态内存分配,函数的其他部分不会再对bar的大小进行修改了。这种情况下有没有方法消除bar := make([]byte, n)这处动态内存分配?


肖建 优艾设计网_Photoshop交流 1小时前

如果是Read Only 的可以使用楼上的方法。


百合2017ABC 1小时前

优艾设计网_PS交流

类似于redis的内存管理,初始化一个大slice,每次使用大slice的一部分


kiwikiwi 1小时前

优艾设计网_平面设计

申明一个生命周期在函数foo以外的slice,每次复用这个slice(前提是你需要保证这样没问题)


a224229 优艾设计网_电脑技术 1小时前

可以bar := make([]byte, n, capacity),预先指定一个容量。


凌乱萌萌哒 1小时前

这个问题只能从你自身的需求来讲,每次调用foo如果期望一个独立的slice返回,那么只能优艾设计网_Photoshop百科这么办了。如果不是这样,可以考虑以下方法:


岁月打碎记忆 优艾设计网_平面设计 1小时前

这种问题是很单纯的自己想多的。


0

精彩评论

暂无评论...
验证码 换一张
取 消