This post originated from an RSS feed registered with .NET Buzz
by -.
Original Post: Zeitmessung einfach gemacht
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Soll ein Vorgang performant sein, empfiehlt es sich, unterschiedliche Ans��tze zu testen. Diese m��ssen dann nat��rlich nicht nur auf Ressourcen-Verbrauch, sondern auch in zeitlicher Hinsicht getestet werden. Dies kann nat��rlich mit Hilfe von DateTime und TimeSpan erledigt werden. Das .NET Framework 2.0 enth��lt hier jedoch auch noch andere Mittel: Stopwatch aus dem System.Diagnostics Namespace.
Stopwatch kann dazu verwendet werden, einfach verbrauchte Zeiten zu messen. Daf��r einfach instanzieren und los geht's. Start und Stop sind die entsprechenden Methoden.
Die Besonderheiten
1. Bei einem Stop wird die bereits verbrauchte Zeit nicht zur��ckgesetzt. D.h. bei einem neuerlichen Start beginnt der Z��hler nicht bei Null, sondern inkludiert die bereits verbrauchte Zeit. Mit Reset kann der Wert auf Null zur��ckgesetzt werden.
2. Wem die Pr��zision und die Aufl��sung der Stopwatch-Implementierung nicht gen��gt, dem seien die Eigenschaften Frequency und IsHighResolution ans Herz gelegt.
Weitere Besonderheiten und generelle Informationen finden sich unter [1].
Hier noch ein kleines (sinnloses) Beispiel:
private void PerformanceTest()
{
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
stopWatch.Start();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000000; i++)
{
sb.Append(" ");
}
stopWatch.Stop();
Console.WriteLine("Milliseconds used: " + stopWatch.ElapsedMilliseconds);
}