【发布时间】:2013-04-12 13:16:42
【问题描述】:
评估内存分配时应该检查哪些特征?
分配和取消分配的性能?简单的压力测试就足够了吗?如何检查分配的质量?
例如,我找到了 Oracle 对malloc 的测试,但这只是 Oracle 对问题的看法。而且这个测试只针对多线程性能。
人们通常如何检查他们的分配器?
【问题讨论】:
-
您必须首先决定您希望自定义分配器解决哪些问题。您只是想要更快的内存分配吗?您是否进行大量可预测大小的分配?您是否在内存有限的平台上编写长时间运行的应用程序,这意味着碎片是一个问题?
-
这是否意味着分配器应该只从一个角度检查?只为了速度?只为了碎片化?等等?
-
对不起,不,我根本不是故意的。我见过的大多数分配器测试都集中在速度上。如果您正在编写一个 linux 桌面库,那么这可能就是您所关心的。如果您正在编写一些不太常见的东西,则需要确定有多少不同(通常是相互冲突的)用例对您很重要,并相应地寻找或设计测试。
标签: c++ c testing memory-management