我想测量一段代码的执行情况,我想知道最好的方法是什么?
选项1:
DateTime StartTime = DateTime.Now;
//Code
TimeSpan ts = DateTime.Now.Subtract(StartTime);
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Run Code Online (Sandbox Code Playgroud)
选项2:使用System.Diagnostics;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
//Code
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Run Code Online (Sandbox Code Playgroud)
这不仅仅是基准测试,它实际上是应用程序的一部分.函数执行的时间是相关数据.然而,它不需要是原子的或超精确的.
哪个选项更适合生产代码,还是其他人使用不同的东西,也许更好?