标签: c arrays dynamic memory-management
我目前正在尝试用C编写2D场景图,我需要决定存储子节点的方法。我期待非常多的读取和少量写入,因此由于引用的空间局部性差,链接列表是不可能的,并且每次使用realloc添加子节点都可能会将自由列表分段为遗忘。池分配器似乎是最好的解决方案,但我似乎无法找到任何实现使用。有没有人知道有效处理几百个小struct s的随机分配和解除分配的分配器,或者更好的分配方案?
realloc
struct
答案 0 :(得分:4)
我准备将TLSF部署为实时分配器。我还没有机会描述它的表现,但似乎有效,license是对的。
根据他们的文档,它的操作在x86架构中执行“最多168个处理器指令”。它是一个单独的.c文件,在我的系统上进行编译而无需修改。
答案 1 :(得分:2)
看看halloc,它可能会有所帮助。
http://swapped.cc/halloc/