c# - net - ¿Cuál es la mejor manera de medir el tiempo de ejecución de una función?
stopwatch c# (4)
Esta pregunta ya tiene una respuesta aquí:
Obviamente puedo hacer y DateTime.Now.After
- DateTime.Now.Before
pero debe haber algo más sofisticado.
Cualquier consejo apreciado.
Definitivamente le recomendaría que eche un vistazo a System.Diagnostics.Stopwatch
Y cuando busqué más información sobre Cronómetro, encontré este sitio;
Allí mencionó otra posibilidad
Process.TotalProcessorTime
Tickcount es bueno, sin embargo, sugiero ejecutarlo 100 o 1000 veces, y calcular un promedio. No solo lo hace más mensurable, en el caso de funciones realmente rápidas / cortas, sino que también ayuda a lidiar con algunos efectos únicos causados por la sobrecarga.
System.Environment.TickCount y la clase System.Diagnostics.Stopwatch son dos que funcionan bien para una resolución más fina y un uso directo.
Ver también:
Use un Analizador
Sin embargo, su enfoque funcionará, pero si busca enfoques más sofisticados. Sugeriría usar un C # Profiler .
Las ventajas que tienen son:
- Incluso puede obtener una declaración de nivel de ruptura
- No se requieren cambios en su base de código
- En general, los instrumentos tienen muy poca sobrecarga, por lo que se pueden obtener resultados muy precisos.
También hay muchas open-source disponibles.