tiempo net medir ejecucion c# performance benchmarking execution-time

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;

Cuidado con el cronómetro

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.



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.