2010-09-24 7 views
5

Was ist die bequemste Methode zur genauen Messung der verstrichenen Wanduhrzeit in .NET? Ich suche nach etwas mit Mikrosekundengenauigkeit, wenn möglich (10^-6 Sekunden).Präzise Messung der verstrichenen Wanduhrzeit in .NET

+2

Ist die verstrichene "Wanduhrzeit" gleich der verstrichenen Zeit? – spender

+0

@spender: [Uhrzeit Uhrzeit] (http://en.wikipedia.org/wiki/Wall_clock_time) ist die Gesamtzeit, die benötigt wird, um eine Aufgabe abzuschließen. –

+0

Ah. OK, im Gegensatz zur CPU-Zeit. Hab es jetzt verstanden. – spender

Antwort

7

System.Diagnostics.Stopwatch ist Ihre beste Wette. Die genaue Genauigkeit hängt jedoch von der Hardware auf dem Computer ab, den Sie verwenden, d. H. Ob ein hochauflösender Leistungsindikator verfügbar ist. (Sie können das überprüfen, mit dem IsHighResolution Feld.)

Beispiel Verwendung:

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

Beachten Sie, dass, wenn Sie die ElapsedTicks Eigenschaft, dass in Timer gemessen ist Zecken, die nicht das gleiche ist wie die Zecken verwendet in DateTime und TimeSpan. Das hat mich jetzt schon erwischt - deshalb verwende ich immer ElapsedMilliseconds oder die Elapsed Eigenschaft.

+0

Das sieht perfekt aus. Auf meinem System beansprucht das Feld "Frequenz" eine Auflösung von besser als ein Zehntel einer Mikrosekunde. – pauldoo

Verwandte Themen