我有一些C#性能测试,基本上运行两种不同的方法,并检查一个运行速度比另一个快得多。
当我在NUnit中本地运行它们时,其中一个测试运行速度是另一个测试的十倍,所以我有一个NUnit测试使用Stopwatch
来检查它至少是其两倍(在回归的情况下)。但是当我在TeamCity中运行测试时,快速方法的速度只有慢速的1.5倍?我希望硬件差异会产生一些影响,但不是很多。可能导致这种情况的原因是什么?
答案 0 :(得分:12)
为了回答我自己的问题,问题是在TeamCity中为测试版本打开了代码覆盖率,因此这样做的开销使两个方法的运行时间更加接近。希望这个答案可以帮助其他人。