En C# conozco dos formas de hacerlo:
- La primera, usando DateTime
//Guardamos la hora inicial
DateTime inicio = DateTime.Now;
/*
* ... algo de codigo por aqui ...
*/
//Guarda la hora final
DateTime fin = DateTime.Now;
//Crea un "intervalo temporal"
TimeSpan total = fin.Subtract(inicio);
//obtenemos el tiempo total en milisegundos
double totalTime = total.TotalMilliseconds;
- La segunda, usando Stopwatch
//Guardamos la hora inicial
Stopwatch stopWath = Stopwatch.StartNew();
/*
* ... algo de codigo por aqui ...
*/
double totalTime = stopWath.Elapsed.TotalMilliseconds;
Ambos son buenos, aunque el segundo devuelve un tiempo mas preciso y exacto.
Para ver mas:
http://www.dijksterhuis.org/timing-function-performance-stopwatch-c
Palabras clave: c#, código útil, tiempo de ejecucion
Comentarios
La primera muy primitiva :D
La segunda se utiliza para ver el rendimiento en la ejecucion de procesos que manejan gran cantidad de informacion y ver el tiempo que tarde.
Te sugiero realizar code analisis para ver los segmentos de tu codigo que pueden tomar demasiado tiempo y ademas de muchas otras cosas interesantes. El visual Studio ya traer consigo algo para hacer eso, tambien puedes ver el FXCop.
Saludos ...
Hablando de eso, a pesar que repertí Elementos de Programación y Estructuras de datos, nunca aprendí a calcular tiempos de ejecución (gracias, queridísima recursión jeje), alguien tiene por ahí un buen libro o manual que pueda revisar?.
Gracias.
#1, gracias por la info, pero me interesaba mas hacer codigo para calcular eso.
#2, tengo algunos apuntes sobre eso en: http://www.memi.umss.edu.bo/elementos/cristian/algoDritmo9.3.pdf , bibliografia adicional lo encuentras al final.