2010-09-24 65 views
5

在.NET中精確測量流逝的掛鐘時間最方便的方法是什麼?如果可能的話,我正在尋找微秒精度的東西(10^-6秒)。在.NET中準確測量流逝的掛鐘時間

+2

是否已經過相當於經過時間的「掛鐘時間」? – spender 2010-09-24 08:58:19

+0

@spender:[掛鐘時間](http://en.wikipedia.org/wiki/Wall_clock_time)是完成任務所需的總時間。 – 2010-09-24 09:01:13

+0

啊。好的,而不是CPU時間。現在明白了。 – spender 2010-09-24 09:05:24

回答

7

System.Diagnostics.Stopwatch是你最好的選擇。但是,確切的準確度取決於您使用的計算機上的硬件,即是否有高分辨率性能計數器。 (您可以檢查與IsHighResolution場。)

使用示例:

Stopwatch sw = Stopwatch.StartNew(); 
// Do stuff here 
sw.Stop(); 
TimeSpan time = sw.Elapsed; 

請注意,如果您使用ElapsedTicks屬性,這是在定時測量使用蜱這是不一樣的蜱在DateTimeTimeSpan。這在現在之前就被我發現了 - 這就是爲什麼我總是使用ElapsedMillisecondsElapsed屬性。

+0

這看起來很完美。在我的系統中,「頻率」字段聲稱分辨率優於十分之一微秒。 – pauldoo 2010-09-24 09:20:54