Stopwatch es una clase en el .NET Framework que reside en el espacio de nombres System.Diagnostics y es un temporizador de alta resolución.
Metodos:
Esta clase tiene varios métodos: Start(), Stop() y Reset() que sirven para iniciar, detener y resetear el temporizador respectivamente.
El método compartido StartNew() devuelve una instancia del temporizador y lo inicia, este método lo usemos para crear objetos nuevos y al mismo tiempo iniciarlos.
Propiedades:
Esta clase tiene varias propiedades:
- Elapsed, devuelve un objeto de tipo TimeSpan.
- ElapsedMilliseconds, devuelve un valor Long con los milisegundos transcurridos.
- ElapsedTicks, devuelve un valor Long, pero con los “pasos” del temporizador.
- IsRunnig, nos puede servir para saber si aún se está ejecutando.
- Frequency de solo lectura, que nos da información de la frecuencia (en pasos) del temporizador.
- IsHighResolution de solo lectura, que devuelve un valor verdadero/falso según se use un temporizador de alta resolución/precisión.
Utilidad:
- Es útil para los puntos de referencia en la optimización del código.
- Medir el tiempo que tarda en ejecutar una parte de su código.
Acontinuación se presenta un ejemplo de medición de tiempo en dos ciclos “for” el primero con una concatenación a una variable “string” y el segundo con una concatenación a una variable “StringBuilder”:
Se presenta los tiempos de la ejecución de ambos bloques de codigo “ciclos”, la medición se presenta en Milisegundos: