Profilare un comando in base al tempo della parete


Risposte:


7

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.


5

È possibile utilizzare benchmarkper 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))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.