0

我的任务是找出是什么让我被分配到的应用程序如此缓慢。我决定试一试 Redgate 的Ants Profiler。运行它时,大多数热点都包含在原始开发人员编写为Parallel.For()循环的循环中。

为了看看它会产生什么效果,我用标准的 for 循环替换了它们,并且分析器加速了几秒钟。但是,在没有分析器的情况下进行测试,使用DateTime.Now一个此类循环的开始和结束之间的简单差异,表明该Parallel.For()循环的速度是原来的两倍多。

尝试使用 Parallel 类时,通过分析器运行代码是否可能会造成人为瓶颈?

4

1 回答 1

1

问题在于,在执行并行操作时,探查器会对所有线程进行采样,这使得正常探查器的性能下降会随着线程的增多而变大。

于 2012-07-20T13:18:29.763 回答