计算代码运行时间/速度

时间:2014-04-09 14:10:54

标签: c# performance time

我对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#中代码的运行时间/速度?

我们将不胜感激。

感谢。

3 个答案:

答案 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