块内存的简单自定义分配器?

时间:2013-10-03 21:24:30

标签: c++ performance optimization memory-management allocation

首先,我不确定是否有更简单的方法可以做到这一点(见消息的结尾)....

我想编写一个自定义分配器,确保我的堆分配对象存储在连续内存中。比如说,在堆上分配1GB然后为每个对象分配1000个字节(以先到先服务为基础)会有多简单?

我认为更简单的方法可能是声明一个数组(连续内存)并将对象存储在其中。哪种技术会有更好的表现?

(我正在考虑加载一个充满对象的缓存行并尝试最小化缓存未命中)

1 个答案:

答案 0 :(得分:2)

您正在描述pool allocator。 您可以使用free list实现。