El profiler-start
comando tiene opciones para cpu
, mem
y cpu+mem
. ¿Hay alguna forma de perfilar un comando por tiempo transcurrido?
El profiler-start
comando tiene opciones para cpu
, mem
y cpu+mem
. ¿Hay alguna forma de perfilar un comando por tiempo transcurrido?
Respuestas:
No estoy seguro de si puede hacerlo usando profiler.el, ya que es un generador de perfiles de muestreo. En realidad, no está midiendo cuánto tiempo tarda una función en ejecutarse, está verificando periódicamente para ver qué función se está ejecutando actualmente y sumando todas esas muestras.
ELP o EmacsLispProfiler es un compilador de instrumentos. Para habilitar la instrumentación, use M-x elp-instrument-function en una o más funciones. Después de ejecutar el código que llama a las funciones instrumentadas, ejecute M-x elp-results . Esto mostrará un búfer que muestra el número total de llamadas y el tiempo transcurrido para cada función instrumentada. Echa un vistazo a M-x find-libary elp para más información.
Si sabe exactamente qué función desea perfilar, la biblioteca de referencia también podría ser útil.
Puede usar
benchmark
para determinar cuánto tiempo tarda un comando.
(benchmark 100 (command))
100 es el número de repeticiones, hazlo lo suficientemente grande como para que tus resultados sean significativos. Y no olvides que también puedes llamarlo interactivamente.
(FORMULARIO DE REPETICIONES de referencia)
Imprima el tiempo necesario para las ejecuciones de REPETICIONES de FORM.
Interactivamente, REPETITIONS se toma del prefijo arg.
También puede usarlo para cualquier forma arbitraria, no solo para un solo comando.
(benchmark 100 (form to (be evaluated))