Quiero medir la ejecución de un código y me pregunto cuál es el mejor método para hacerlo?Mida el tiempo de ejecución en C#
Opción 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");
Opción 2: usando System.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");
Esto no es solo para la evaluación comparativa, es realmente parte de la aplicación. El tiempo que tarda la función en ejecutarse es información relevante. Sin embargo, no es necesario que sea atómico o hiper-preciso.
¿Qué opción es mejor para el código de producción, o alguien más usa algo diferente y quizás mejor?
Buena pregunta! Tengo curiosidad en cuanto a la respuesta! –