Przestawiam klasę stopwatch do mierzenia czasu wykonywania kodu w c#
Czasy kiedy do mierzenia czasu wykonywania kodu używaliśmy:DateTime now = DateTime.Now;
// KOD
Console.WriteList(DateTime.Now - now);
bezpowrotnie już minęły. W .NET 4.5 otrzymaliśmy bardzo prostą, gotową do użycia klasę Stopwatch. Dostarcza ona większej precyzji niż zbada z DateTime.Now
Najprostsze użycie tego toola wygląda tak:
Stopwatch sw = Stopwatch.StartNew(); // od razu zegar zostaje wystartowany
// KOD
sw.Stop(); // zatrzymujemy zegar
Console.WriteList("Czas wykonywania: {0}ms", sw.ElapsedMilliseconds);
czego chcieć więcej od tak małej i użytecznej klasy? Oczywiście możemy utworzyć instancje Stopwatch i wykorzystać go kilka razy używając metod Reset() - do zresetowania czasu, Restart() - do resetu oraz natychmiastowego puszczenia ponownie zegara.
Stopwatch sw = new Stopwatch();
sw.Start(); // start zegara
// KOD
sw.Stop(); // zatrzymujemy
Console.WriteLine(sw.ElapsedMilliseconds);
sw.Reset(); // zerujemy zegar
sw.Start(); // start zegara
// KOD
sw.Stop(); // zatrzymujemy
Console.WriteLine(sw.ElapsedMilliseconds);
sw.Restart(); // zerujemy zegar i od razu go puszczamy w ruch
// KOD
sw.Stop(); // zatrzymujemy
Console.WriteLine(sw.ElapsedMilliseconds);
Ta klasa się można domyśleć bardzo dobrze przydaje w badaniu wydajności kodu i wszelakich optymalizacjach.
Brak komentarzy:
Prześlij komentarz