我想測量一段代碼的執行情況,我想知道做到這一點的最佳方法是什麼?使用C#測量執行時間
選項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");
選項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");
這不僅僅是基準測試,它實際上是應用程序的一部分。函數執行的時間是相關數據。它不需要是原子或超精確的。
哪個選項更適合生產代碼,還是其他人使用不同的或者更好的東西?
問得好!我很好奇答案! – 2010-10-11 02:43:33