C # unter Millisekunden

7

Gibt es irgendwo in C # Timing-Operationen mit einer Genauigkeit von unter einer Millisekunde? Ich setze Timing-Code in meine Software und alles wird als 0ms zurückgegeben. Ich würde gerne wissen, ob es einen Weg gibt, noch feiner zu werden.

Addendum: Ist das der richtige Code, um Timing im Sub-Millisekunden-Bereich zu erhalten?

%Vor%

Ich bekomme immer noch 0 als verstrichene Zeit

    
deltanovember 08.02.2010, 21:52
quelle

5 Antworten

16

Sie können immer versuchen, QueryPerformanceCounter oder StopWatch Klasse für einen verwalteten Ansatz

    
tyranid 08.02.2010, 21:54
quelle
11

Verwenden Sie System.Diagnostics.Stopwatch

    
Samuel Neff 08.02.2010 21:54
quelle
3

Normalerweise messe ich diese Art von Szenarien, indem ich die Operation mehrmals wiederhole (so viele wie nötig, um die Millisekunden über ein paar Dutzend oder hundert zu erhalten.

Dann können Sie einfacher anpassen und messen.

    
John Weldon 08.02.2010 21:55
quelle
1

Sie könnten versuchen, Ihre Leistung in Zecken statt in Millisekunden zu messen. Es wird viel genauer in Bezug auf die Leistung sein.

aber ich stimme Sam und Tyranid zu, benutze System.Diagnostics.StopWatch.

    
Khalid Abuhakmeh 08.02.2010 22:04
quelle
0

Ich habe etwas Neues gelernt. Diese Ticks sind in der Tat praktisch. Vollständiges Beispiel:

%Vor%

Sie können auch stopwatch.ElapsedTicks in der Console.WriteLine verwenden, aber ich weiß nicht, ob das irgendwelche Leistungsverzögerungen hat, deshalb erhalte ich es zuerst und lege es in eine Variable.

    
KoalaBear 04.09.2017 07:55
quelle

Tags und Links