C#代码大小和代码执行时间

a12*_*773 7 c# performance

有没有办法找到什么是代码的大小和它的执行时间,所以我可以比较两个代码,并决定哪个更好?

例如,假设我想找到它的大小和执行时间

代码1

for(int i=0; i<5; i++)
{
   sum+=1;
}
Run Code Online (Sandbox Code Playgroud)

还有这个

代码2

for(int i=0; i<=4; i++)
{
   sum = sum + 1;
}
Run Code Online (Sandbox Code Playgroud)

决定哪个更好(我现在不关心这个例子).例如,结果将是:

Code 1:
Size: ? KB
Time: ? ms

Code 2:
Size: ? KB
Time: ? ms
Run Code Online (Sandbox Code Playgroud)

Jas*_*ira 15

您可以使用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)