Stel dat je in een programma de duur van een operatie wil meten, bijvoorbeeld:
- hoelang het duurt om een bestand in te lezen;
- hoelang een databasebewerking duurt;
- hoelang het tekenen van een complexe figuur duurt;
- …
Een voor de hand liggende aanpak zou zijn om gebruik te maken van twee instanties van DateTime
en hiervan het verschil (een TimeSpan
object) af te drukken, zoals:
DateTime start = DateTime.Now; FooMethodToMeasure(); DateTime stop = DateTime.Now; Console.WriteLine("Duur {0} msec", (stop - start).TotalMilliseconds);
Deze manier van werkwijze zou echter niet nauwkeurig zijn (bron 1, bron 2), en daarom gebruik je beter de StopWatch
klasse, die rechtstreeks via het besturingssysteem een timer voorziet. Let op: je moet wel de System.Diagnostics
namespace importeren.
Stopwatch watch = new Stopwatch(); watch.Start(); FooMethodToMeasure(); Console.WriteLine("Duur {0} msec", watch.ElapsedMilliseconds); watch.Stop();
Geen opmerkingen:
Een reactie posten