【发布时间】:2009-12-26 22:57:07
【问题描述】:
我有一个运行速度很慢的程序(即使在发布时也需要 20 秒),所以为了修复它,我尝试使用 Visual Studio 的内置分析器。但是,当我在启用分析的情况下运行程序时,它会在不到一秒的时间内完成。这使得很难找到瓶颈。我会发布代码,但它很长。是否有任何明显或不那么明显的原因导致这种情况发生?
编辑: 好的,所以我将问题缩小到一堆 free() 调用。当我将它们注释掉时,程序运行的时间与启用分析的时间相同。但是现在我有内存泄漏:-/
【问题讨论】:
-
这可能是某种奇怪形式的海森堡效应 (en.wikipedia.org/wiki/Werner_Heisenberg)。它知道你在寻找,所以它会站起来开始工作。 :-)
-
我认为它发生的原因与程序中总是在同一点发生的错误相同,除非您在调试器中运行它。
标签: c++