Mau*_*eri 6 c++ heap free performance 64-bit
我有一个这样的类(假设所有malloc的成功)
class CMyClass
{
public:
CMyClass()
{
lpData = malloc(128);
};
~CMyClass()
{
free(lpData);
};
public:
LPVOID lpData;
};
Run Code Online (Sandbox Code Playgroud)
然后我执行这个:
CMyClass *lpList = new CMyClass[32768];
delete [] lpList;
Run Code Online (Sandbox Code Playgroud)
问题是在x86中代码运行良好且快速(在调试和发布版本中完成几毫秒)但在x64中删除调用大约需要15秒才能释放所有内存.
操作系统是Win7 x64.
提示将不胜感激.
此致,毛罗.
如果您通过调试器运行测试应用程序,则可能会遇到Windows调试堆的某些性能问题.添加_NO_DEBUG_HEAP=1到调试对象的环境设置(在Visual Studio 20xx下的项目属性 - >配置属性 - >调试 - >环境属性中),看看是否可以改善释放性能.