C# 計算程式執行時間

計時方式1

  
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start(); // 開始計時
Thread.Sleep(1000); // 等待一秒
stopwatch.Stop(); // 停止計時 (不會重置)
Console.WriteLine(stopwatch.Elapsed.ToString()); // 顯示時間
Console.WriteLine(stopwatch.Elapsed.TotalMilliseconds); // 顯示經過毫秒
stopwatch.Reset(); // 時間重置


範例輸出:
  
00:00:01.0080708
1008.0708


計時方式2

  
DateTime dateTimeStart = DateTime.Now;
Thread.Sleep(1000);
DateTime dateTimeEnd = DateTime.Now;
Console.WriteLine((dateTimeEnd - dateTimeStart).ToString());
Console.WriteLine((dateTimeEnd - dateTimeStart).TotalMilliseconds);


範例輸出:
  
00:00:01.0125016
1012.5016


第一種方式因為停止後再開始並不會讓時間重置,所以很適合用來計算整個流程中同一種操作的時間,如SQL花費總時間、呼叫API回應總時間等等
至於第二種方式,則是最直覺,應該只要看過一次,以後用到時都能直接寫出來了

留言