【发布时间】:2011-05-23 10:51:05
【问题描述】:
我在我的 C++ 程序中替换了 operator new(),以便它 allocates a slightly bigger block to store extra data。所以程序执行完全相同的分配集,只是现在它在每次分配中请求更多字节的内存。否则它的行为是完全一样的,它处理完全相同的数据。该程序在其运行期间分配了许多不同大小的块(我想是数百万块)。
将每个分配大小增加固定字节数(每个分配都相同)会如何影响堆碎片?
【问题讨论】:
-
本机 malloc/new 实现已经为您完成了这项工作。堆分配器已经非常复杂,因此尝试进行这样的优化可能会使事情变得更糟。
-
@Mike Weller:我在哪里做优化?
-
那你为什么要做出这个改变?
-
@Mike Weller:我需要这个来跟踪分配并简化内存泄漏检测。
标签: c++ memory memory-management