高效的C池分配器?

时间:2010-11-19 18:54:41

标签: c arrays dynamic memory-management

我目前正在尝试用C编写2D场景图,我需要决定存储子节点的方法。我期待非常多的读取和少量写入,因此由于引用的空间局部性差,链接列表是不可能的,并且每次使用realloc添加子节点都可能会将自由列表分段为遗忘。池分配器似乎是最好的解决方案,但我似乎无法找到任何实现使用。有没有人知道有效处理几百个小struct s的随机分配和解除分配的分配器,或者更好的分配方案?

2 个答案:

答案 0 :(得分:4)

我准备将TLSF部署为实时分配器。我还没有机会描述它的表现,但似乎有效,license是对的。

根据他们的文档,它的操作在x86架构中执行“最多168个处理器指令”。它是一个单独的.c文件,在我的系统上进行编译而无需修改。

答案 1 :(得分:2)

看看halloc,它可能会有所帮助。

http://swapped.cc/halloc/