我正在解决c#中的一些算法问题,并将它们作为控制台应用程序运行。在Visual Studio中运行应用程序的时间
要检查应用程序的效率,我想查看它们的运行时间。
目前我打印时间在节目的开始和结束时,计算的时间差,但有降低Observer' effect的方法吗?
我不知道的一些内置工具/插件?
我正在解决c#中的一些算法问题,并将它们作为控制台应用程序运行。在Visual Studio中运行应用程序的时间
要检查应用程序的效率,我想查看它们的运行时间。
目前我打印时间在节目的开始和结束时,计算的时间差,但有降低Observer' effect的方法吗?
我不知道的一些内置工具/插件?
您应该使用Stopwatch
类,它是专门用来做。
为了避免测量时JIT,你也应该测量什么,这样的JIT有时间来运行之前运行的每个算法至少一次。
测量算法时,您应该运行每一百次,并采取平均运行时间。
由于观察者的影响,最重要的延迟来源是打印本身。另一个潜在的延时器是调试消息文本格式。因此,我建议如下:
使用stopwatch class。以下面的方法为例。
using System.Diagnostics;
public void yourAlgorithm()
{
Stopwatch timePerParse = Stopwatch.StartNew();
/** -- TODO --**/
timePerParse.Stop();
Console.WriteLine(timePerParse.ElapsedMilliseconds);
}