有没有办法找到什么是代码的大小和它的执行时间,所以我可以比较两个代码,并决定哪个更好?
例如,假设我想找到它的大小和执行时间
代码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)