计算代码运行时间/速度

本文关键字:速度 运行时间 代码 计算 | 更新日期: 2023-09-27 17:57:45

我对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。codeı想看看"它的运行时间/速度0.03秒"

如果我跑2。codeı想看看"它的运行时间/速度0.06秒"

在不使用计时器的情况下,有什么可以计算c#中代码的运行时间/速度吗?

如有任何帮助,我们将不胜感激

谢谢。

计算代码运行时间/速度

用于快速分析代码的最佳方法是System.Diagonstics 中的Stopwatch

var sw = Stopwatch.StartNew();
///.... stuff
sw.Stop();
sw.ElapsedMilliseconds;

如果这是你可能想在生产中使用的东西,我建议:http://miniprofiler.com/

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

通常使用stopper.startnew、stop、elapsedtime方法。市场上有一些评测工具,微软也有自己的内置性能套件。以下链接是关于如何设置它的教程。http://msdn.microsoft.com/en-us/library/ms182372.aspx