Je veux mesurer l'exécution d'un morceau de code, et je me demande quelle est la meilleure méthode pour ce faire est?
Option 1:
DateTime StartTime = DateTime.Now;
//Code
TimeSpan ts = DateTime.Now.Subtract(StartTime);
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Option 2: en utilisant le Système.Diagnostics;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
//Code
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
Ce n'est pas simplement pour l'analyse comparative, sa fait partie de l'application. Le temps de la fonction prend de l'exécution des données pertinentes. Il n'a cependant pas besoin d'être atomique ou hyper-précis.
Quelle est la meilleure option pour la production de code, ou quelqu'un d'autre de quelque chose de différent et peut-être mieux?