C#測試程序運行時間的三種方法如下:
(1)Datetime
DateTime dtBegin = System.DateTime.Now;
... DateTime dtEnnd = System.DateTime.Now; TimeSpan dtTime = dtEnnd- dtBegin;
(2)Stopwatch
需要引用System.Diagnostics命名空間
Stopwatch sw = new Stopwatch(); sw.Start(); ... sw.Stop(); TimeSpan swTime = sw.Elapsed;
(3)Process.GetCurrentProcess()
TimeSpan gcpBegin = Process.GetCurrentProcess().TotalProcessorTime;
...
TimeSpan gcpTime = Process.GetCurrentProcess().TotalProcessorTime.Subtract(gcpBegin);
問題一:我的CPU數量是4,那計算CPU時間的話,需不需要除以4呢?
問題二:三種方法得到的時間是不同的,Datetime和Stopwatch得到的時間幾乎一樣,而Process.GetCurrentProcess()得到的時間遠小於前兩種,不是4倍關系,這又是為什么呢?
目前還沒有找到答案,望高手指點一二。