水木社区手机版
首页
|版面-编程技术(Programming)|
新版wap站已上线
返回
1/1
|
转到
主题:Why Discord is switching from Go to Rust
8楼
|
ilovecpp
|
2021-02-27 19:18:27
|
展开
是可以,但手动内存管理的困难,比如内存泄漏,野指针,都会在对象池上面重现。
如果这个对象池占了内存分配的大部分,操作它的代码却只占全部代码的小部分,那是划算的。
否则,如果大部分代码都在操作这个对象池,那不如直接用无GC的语言了。
【 在 diaozi 的大作中提到: 】
: 感觉他这个场景,可以用对象池来 own 这些存储对象,LRU 淘汰的 struct 别扔了
: 这样就不会频繁的扔,GC,然后又去构造
--
FROM 114.86.90.*
10楼
|
ilovecpp
|
2021-02-28 21:03:47
|
展开
这和pool的实现有什么关系呢?
你忘记调pool.put,就和C语言忘记free一样,内存泄漏。
你调pool.put之后再用指针,就和C语言free之后再用指针一样,dangling pointer。
pool就是只能分配一种类型的malloc,程序里用得多了还不如直接用malloc。
【 在 diaozi 的大作中提到: 】
: 他这个场景可以用官方的 sync.Pool 试一把,成本低廉,立竿见影
: 需要更精确操控,可以再结合官方的实现撸一把
--
FROM 114.85.145.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版