比较两个函数的负载/性能

时间:2012-06-13 10:47:23

标签: c# asp.net c#-4.0 testing benchmarking

Iv写了一些C#代码,这些代码似乎花了很多时间,但完成工作。然后我将代码重写为稍快的版本,虽然它不是很快(它是一个cms管理区域功能,因此对网站不重要)

无论如何,它让我想到是否有任何工具/技术允许在asp.net/C中对函数进行a / b测试#

我基本上想要提供两个函数,并为每个函数获取执行时间等。

任何人都会遇到任何工具吗?

有一个谷歌并在这里查看但找不到任何基准测试两个功能

我想我正在寻找jsPerf,但在vs2010和C#

有什么想法吗?

2 个答案:

答案 0 :(得分:7)

您可以使用市场上的ANTS Profiler http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/(应付产品,但他们有试用版)或其他一些Profiler产品(ANTS,vTune,OptimizeIt,DevPartner,YourKit,dotTrace)。

您也可以通过设置一些使用手动StopWatch工具执行这两个功能的单元测试来比较执行时间(更快,更便宜),从而自行完成这些功能。如果您需要稍后更改实施,单元测试还可以确保您没有任何性能回归。 http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx

        var stopWatch = new Stopwatch();
        stopWatch.Start();
        var result = CallFunction();
        stopWatch.Stop();
        var executionTime = stopWatch.Elapsed;

答案 1 :(得分:2)

任何探查器都会这样做。就像RedGate的ANTS分析器一样。