首页 文章

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

提问于
浏览
0

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

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

谢谢,
格兰特

2 回答

  • 0

    您可能希望从jemalloc(http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf)获得一些灵感 - 由于其抗碎片功能,此分配器在新Firefox中被明确使用 .

  • 2

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

    一个快速的Google找到this,带有一堆引用 .

相关问题