【发布时间】:2010-09-22 11:26:14
【问题描述】:
附加的简单测试程序测试清空简单 std::map 的性能。使用 MSVC 2008 和 2010,从命令提示符执行调试构建将花费不到 30 秒,但从调试器中执行时几乎需要 3 分钟。对 clear() 的调用完全是造成差异的原因。如果我闯入调试器,调用堆栈将始终指向 HeapFree。
问题:为什么会有巨大的差异?我可以以某种方式更改调试堆设置,以便在调试器中执行时更快吗?
#include <map>
int
main ( int, char )
{
std::map< time_t, double > test;
for ( int i = 0; i < 1000000; ++i )
{
test[i] = i / 3.14;
}
test.clear();
return 0;
}
【问题讨论】:
标签: c++ visual-studio performance stl debugging