Pues hoy me di con la tarea de optimizar algo de mi código para una aplicación que desarrolle hace un tiempo en mi trabajo. Y me encontré con la incógnita de cómo saber cuánto tiempo se demora en ejecutarse determinado código. Si conozco el tiempo en que se demora en realizarse un método x por ejemplo. Puedo saber si al hacerle cambios estos aumentan o disminuyen. Y como no tenía ni idea de cómo hacer esto. Me fui para los fórums de la msdn (Muy buenos por cierto) he hice la pregunta. Pueden verla aquí si quieren, de todas formas les voy a dar el resumen ahora.
Pues es bastante sencillo. Con la clase Stopwatch se puede hacer lo siguiente


public static List<int> Metodo()

{

Stopwatch reloj = new Stopwatch();

reloj.Start();

… Codigo del método …

reloj.Stop();

TimeSpan ts = reloj.Elapsed;

string elapsedTime = String.Format(&amp;quot;{0:00}:{1:00}:{2:00}.{3:00}&amp;quot;,

ts.Hours, ts.Minutes, ts.Seconds,

ts.Milliseconds / 10);

}

Le pones un punto de interrupción en el string elapsedTime y ya saben cuánto se demoró. O también pueden devolver esa variable y mostrarla en pantalla si les interesa. Bueno, lo que hagan con eso ya es cosa de ustedes.

Pueden encontrar más cosas sobre esta clase en Stopwatch Class
Por cierto gracias a Willams Morales por responderme a la pregunta.

Hasta la próxima!!

Anuncios