我一直令人头大我的脑袋,试图找出究竟发生了什么事情与最近的(非测试版)的Visual Studio 2008 SP1:Visual Studio 2008 SP1引入了运行时错误还是我疯了?
我使用OpenMP内置的应用程序运行在调试器慢得令人难以置信,使CPU使用率达到100%。当它们在调试器外部运行时,它只是运行缓慢(对于发布版本)。
使用英特尔线程构建模块库或我自己的线程团队实现构建的应用程序在调试器中运行速度比在调试器外部运行时要慢(对于发布版本)。
当我去另一台没有安装SP1的开发机器时,情况就不一样了。在调试器或外部运行对程序性能没有影响。 OpenMP加速我的应用程序,就像线程构建模块或我自己的线程团队代码一样(为了解决这个问题而急匆匆地写出来)。
这是完全不会对应用程序进行任何更改,只需在调试器SP1或常规Visual Studio内部或外部运行即可。
我在谷歌上没有发现任何关于此事的信息,所以我坚持不懈地说出一些话,希望别人可能会认识到这一点正在发生在他们身上。要么,要么是我看到的东西。
您是否尝试过使用性能分析器得到什么方法是最消耗时间的想法?这可能会给你提示底层问题是什么。 – bobbymcr 2009-08-31 00:43:51
我已经使用了分析器。但是剖析器不附加调试器,所以应用程序的行为不同。多线程版本的配置文件输出看起来与常规版本相同。出现了相同的热点 - 我已经尽可能地在优化方面做了很多工作。 – 2009-08-31 18:24:09