1. 程式人生 > 其它 >c# 三種計算程式執行時間的方法

c# 三種計算程式執行時間的方法

第一種
利用System.DateTime.Now

// example1: System.DateTime.Now method
DateTime dt1 = System.DateTime.Now;
System.Threading.Thread.Sleep(time_cap);
DateTime dt2 = System.DateTime.Now;

TimeSpan ts = dt2.Subtract(dt1);
Console.WriteLine("example1 time {0}", ts.TotalMilliseconds);

第二種
利用Stopwatch

// example2: Stopwatch class
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
System.Threading.Thread.Sleep(time_cap);
sw.Stop();

TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("example2 time {0}", ts2.TotalMilliseconds);

第三種
利用c++ API

// example3: c++ API
long count1 = 0;
long count2 = 0;
long freq = 0;
double result = 0;

QueryPerformanceFrequency(ref freq);
QueryPerformanceCounter(ref count1);
System.Threading.Thread.Sleep(time_cap);
QueryPerformanceCounter(ref count2);

result = (double)(count2 - count1) / (double)freq;
Console.WriteLine("example3 time {0}", result);

測試結果:
example1 time 2001.486
example2 time 2000.6587
example3 time 2.00032488719712

二三兩種方法結果比較準確