调试堆大量减速

时间:2012-02-24 10:04:48

标签: c++ windows memory msvcrt

我在使用调试器启动时使用的中间件上遇到x8性能下降。

不同之处在于调试器使用调试堆,这是一个标准堆(HeapQueryInformation给出0),而“标准”运行使用the low-fragmentation heapHeapQueryInformation给出2)。

现在,我知道我可以强制Visual使用带有_NO_DEBUG_HEAP环境变量的LFH进行调试,但我怀疑中间件中存在代码问题(分配太多,间接太多,使用boost :: shared_ptr和std ::地图的......)。所以:

  • 是否有任何工具/方法/任何可以帮助识别这种瓶颈的工具/方法?
  • 我无法说服中间件的公司重构他们的整个代码=)但是有“简单”的技巧,比如自定义分配器(nedmalloc?)可能有帮助吗?

谢谢!

0 个答案:

没有答案