O profiler-start
comando tem opções para cpu
, mem
, e cpu+mem
. Existe uma maneira de criar um perfil de um comando pelo tempo decorrido?
O profiler-start
comando tem opções para cpu
, mem
, e cpu+mem
. Existe uma maneira de criar um perfil de um comando pelo tempo decorrido?
Respostas:
Não tenho certeza se você pode fazer isso usando o profiler.el , pois é um profiler de amostragem. Na verdade, não está medindo quanto tempo uma função leva para executar, está periodicamente verificando qual função está sendo executada no momento e somando todas essas amostras.
O ELP ou o EmacsLispProfiler é um compilador de instrumentação. Para ativar a instrumentação, use a função M-x elp-instrument em uma ou mais funções. Após executar o código que chama as funções instrumentadas, execute M-x elp-results . Isso exibirá um buffer mostrando o número total de chamadas e o tempo decorrido para cada função instrumentada. Confira M-x find-libary elp para mais informações.
Se você souber exatamente qual função deseja criar um perfil, a biblioteca de benchmark também poderá ser útil.
Você pode usar
benchmark
para determinar quanto tempo um comando leva.
(benchmark 100 (command))
100 é o número de repetições, faça com que seja grande o suficiente para que os resultados sejam significativos. E não esqueça que você também pode chamá-lo de forma interativa.
(FORMULÁRIO DE REPETIÇÃO DE benchmark)
Imprima o tempo necessário para as execuções REPETITIONS do FORM.
Interativamente, REPETITIONS é obtido do prefixo arg.
Você também pode usá-lo para qualquer forma arbitrária, não apenas para um único comando.
(benchmark 100 (form to (be evaluated))