繁体   English   中英

在自定义 memory 管理器中对抗碎片

[英]Fighting fragmentation in custom memory manager

我已经为堆分配编写了 ac/c++ memory 管理器(重载 new/delete 和 malloc/realloc/free,基于 Doug Lea 的 malloc,但设计为无需等待),并且似乎在碎片化方面遇到了一些问题。 是否有任何好的资源可以详细说明通过管理器避免碎片化的好策略?

请注意,我无法重新排列已经分配的 memory(不使用带有 GUID 的智能指针)并且重写系统以使用池而不是堆分配是不可行的。

谢谢,
授予

You may want to get some inspiration from jemalloc ( http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf ) - this allocator is used in the new Firefox explicitly because of its anti-fragmentation capabilities.

看看像 glibc 这样更成熟的项目是如何做到的。

一个快速的谷歌找到了这个,有一堆参考资料。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM