Il profiler-start
comando ha opzioni per cpu
, mem
e cpu+mem
. C'è un modo per profilare un comando per tempo trascorso?
Il profiler-start
comando ha opzioni per cpu
, mem
e cpu+mem
. C'è un modo per profilare un comando per tempo trascorso?
Risposte:
Non sono sicuro se puoi farlo usando profiler.el in quanto è un profiler di campionamento. In realtà non sta misurando quanto tempo impiega una funzione a eseguire, controlla periodicamente per vedere quale funzione è attualmente in esecuzione e sommando tutti quei campioni.
ELP o EmacsLispProfiler è un compilatore di strumenti. Per abilitare la strumentazione utilizzare la funzione M-x elp-instrument su una o più funzioni. Dopo aver eseguito il codice che chiama le funzioni strumentate, esegui M-x elp-results . Questo visualizzerà un buffer che mostra il numero totale di chiamate e il tempo trascorso per ciascuna funzione strumentata. Controlla M-x find-libary elp per ulteriori informazioni.
Se sai esattamente quale funzione vuoi profilare, anche la libreria di benchmark potrebbe essere utile.
È possibile utilizzare
benchmark
per determinare quanto tempo richiede un comando.
(benchmark 100 (command))
100 è il numero di ripetizioni, rendilo abbastanza grande da rendere significativi i risultati. E non dimenticare che puoi anche chiamarlo in modo interattivo.
(MODULO DI RIPETIZIONE benchmark)
Stampa il tempo impiegato per le esecuzioni REPETITIONS del FORM.
Interattivamente, REPETITIONS è tratto dal prefisso arg.
Puoi anche usarlo per qualsiasi forma arbitraria, non solo per un singolo comando.
(benchmark 100 (form to (be evaluated))