Me gustaría recopilar métricas sobre rutinas específicas de mi código para ver dónde puedo optimizar mejor. Tomemos un ejemplo simple y digamos que tengo una base de datos "Clase" con múltiples "Estudiantes". Digamos que el código actual llama a la base de datos para cada estudiante en lugar de atraparlos todos a la vez en un lote. Me gustaría ver cuánto tarda cada viaje a la base de datos para cada fila de estudiantes.Métricas de rendimiento en rutinas específicas: ¿cuales son las mejores prácticas?
Esto es en C#, pero creo que se aplica en todas partes. Por lo general, cuando tengo curiosidad sobre el rendimiento de una rutina específica, creo un objeto DateTime antes de ejecutarlo, ejecuto la rutina y luego creo otro objeto DateTime después de la llamada y tomo la diferencia de milisegundos entre los dos para ver cuánto tiempo se ejecuta . Normalmente acabo de mostrar esto en la traza de la página ... así que es un poco lo-fi. ¿Alguna de las mejores prácticas para esto? Pensé en poder poner la aplicación web en algún modo de "diagnóstico" y hacer una escritura detallada/registro de eventos con lo que sea que busque, pero quería ver si la mente de la colmena stackoverflow tiene una mejor idea.
Cuando desarrollo un programa en Eclipse, simplemente imprimo la hora (en ms) en la consola antes y después de la ejecución de la función necesaria. –
Lo que hago también cuando estoy probando porciones limitadas del código. Pero no te dice cómo se está gastando el tiempo. Si la función llama a otras funciones, puede ser útil saber cuál de esas llamadas es la más cara. – Elie