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

atm*_*tmd 2 c# asp.net testing benchmarking c#-4.0

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

无论如何,它让我思考是否有任何工具/技术允许a/b测试asp.net/C#中的函数

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

有没有人遇到过这方面的工具?

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

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

有任何想法吗?

Jas*_*ira 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;
Run Code Online (Sandbox Code Playgroud)