Профилировать команду по настенному времени


Ответы:


7

Я не уверен, что вы можете сделать это с помощью profiler.el, поскольку это профилировщик выборки. На самом деле он не измеряет, сколько времени занимает выполнение функции, а периодически проверяет, какая функция выполняется в данный момент, и суммирует все эти примеры.

ELP или EmacsLispProfiler - это инструментальный компилятор. Чтобы включить инструментарий, используйте M-x elp-instrument-function для одной или нескольких функций. После запуска кода, который вызывает инструментированные функции, запустите M-x elp-results . Это отобразит буфер, показывающий общее количество вызовов и прошедшее время для каждой инструментальной функции. Проверьте M-x find-libary elp для получения дополнительной информации.

Если вы точно знаете, какую функцию вы хотите профилировать, библиотека эталонных тестов также может быть полезна.


5

Вы можете использовать, benchmarkчтобы определить, сколько времени занимает команда.

(benchmark 100 (command))

100 - это количество повторений, сделайте его достаточно большим, чтобы результаты были значимыми. И не забывайте, что вы также можете позвонить в интерактивном режиме.

(контрольная форма повторений)

Выведите время, затрачиваемое на ПОВТОРНОЕ выполнение ФОРМ.
В интерактивном режиме REPETITIONS берется из префикса arg.

Вы также можете использовать его для любой произвольной формы, а не только для одной команды.

(benchmark 100 (form to (be evaluated))
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.