如何测试软件发布版本之间的代码性能?

Sam*_*k R 8 .net c# performance

我正在用C#/ .NET开发软件,但我想也可以问其他编程语言的问题.如何在发布版本之间测试软件的性能?让我详细说明一下.

在软件的生产发布之前,我想比较软件的性能,以获得该软件早期版本中提供的一组功能.假设您正在讨论一个软件库项目(没有GUI),这会导致一个或多个dll的发布.如何实现这一目标?有哪些最佳做法?我不可能将当前的dll与之前的版本dll交换并运行相同的测试.

我能想到的一种方法是在主分支(用于当前版本)和早期版本分支中添加相同的性能测试,然后比较性能.我认为这样做有一些痛苦,但是有可能.

我能想到的另一种方法是从lest release分支开始,删除在最后一次发布之后放入的新代码和功能,然后运行测试.我不认为这会产生正确的结果,更不用说这种方法比以前的方法更痛苦.

谢谢你的其他想法.更喜欢C#/ .NET特定的答案.

编辑1:有些相关问题.

Joe*_*ite 3

我们有一套性能测试。这些只是 NUnit 测试。每个测试都会设置一些对象,启动计时器(秒表效果很好),执行我们感兴趣的操作(例如,加载特定屏幕的数据),然后将经过的时间写入 CSV 文件。(NUnit 记录每个测试需要多长时间,但我们希望排除设置逻辑,在某些情况下,设置逻辑会因测试而异 - 因此,使用我们自己的计时器和日志记录更有意义。)

我们不时运行这些测试,并且始终在相同的硬件和网络环境中进行。我们将结果导入数据库。然后就可以轻松构建显示趋势或指出较大百分比变化的图表。