我对ms visual studio中代码的运行时间/速度非常好奇。
例如,
1。代码:
byte[] buffer = new byte[4096];
var p = System.IO.Directory.GetFiles(directoryName);
2。代码
var entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
如果我运行1.代码ı想看“它的运行时间/速度0.03秒”
如果我跑2.代码ı想看“它的运行时间/速度0.06秒”
在没有使用计时器的情况下,是否可以计算c#中代码的运行时间/速度?
我们将不胜感激。
感谢。
答案 0 :(得分:4)
用于快速分析代码的最佳方法是System.Diagonstics
Stopwatch
var sw = Stopwatch.StartNew();
///.... stuff
sw.Stop();
sw.ElapsedMilliseconds;
如果您想在生产中使用此功能,我建议:http://miniprofiler.com/
答案 1 :(得分:3)
您可以使用Stopwatch代码进行基准测试
var sw = Stopwatch.StartNew();
var entry = new ZipEntry(Path.GetFileName(file));
sw.Stop();
Console.WriteLine("Time to zip: {0}", sw.Elapsed);
如果您打算大量使用它,可以创建一个辅助方法
public static TimeSpan Benchmark(Action action)
{
var sw = Stopwatch.StartNew();
action();
sw.Stop();
return sw.Elapsed;
}
...
var timeTaken = Benchmark(() => /* run some code */)
答案 2 :(得分:2)
通常会使用stopwatch.startnew,stop,elapsedtime方法。 市场上有一些分析工具,微软也有自己的内置性能套件。以下链接是有关如何设置它的教程。 http://msdn.microsoft.com/en-us/library/ms182372.aspx