【发布时间】:2010-07-23 23:53:50
【问题描述】:
我已经开始为我的代码编写更多的单元测试(我应该做更长的时间),并使用 EQATEC 等代码分析器来识别瓶颈。我想知道是否有正确的方法来监控单元测试中的性能?
显然,代码分析器最适合进行优化,但我真正想要的是一种方法来确保我最近的更改不会意外影响我的性能(通过调用冗余函数等),甚至如果它没有破坏任何逻辑。
我的第一个想法是多次运行我的方法(例如,insert 或某种类型)以得出通常需要的滴答数。然后编写一个将重复方法调用的单元测试,然后是Assert(elapsedTicks < magicNumberOfTicks)。不过,这似乎太武断了,我想知道其他开发人员在这种情况下使用了什么?
【问题讨论】:
-
我认为您正在寻找更多的压力测试/负载测试软件。
-
重点是我已经在使用单元测试来确保我的逻辑不会中断,并且我想快速知道(最好在 VS 中)我是否无意中多做了两个调用我拥有的那个递归函数,它不会破坏任何东西,但会使它变慢 400%。
-
使用单元测试来衡量任务的性能可能很有用,但您必须对结果持保留态度。例如,在 UT 中,可能不会出现 GC 开销之类的东西。这可能更多地适用于本机代码,但 CPU 缓存的效果可能无法反映现实。
标签: .net performance unit-testing