Измерять производительность общей программы lisp

Я написал программу common- lisp, и она медленнее, чем нужно. Теперь я хочу проанализировать свой код, чтобы узнать, куда идет мое время. Существуют ли какие-либо инструменты, которые люди используют?

Ответ 1

Если вы используете SLIME, существует несколько профилирование команд, вы можете использовать, помимо time, и специальные инструменты для реализации.

Используйте M-x slime-toggle-profile-fdefinition для (un) профильных функций, M-x slime-profile-report, чтобы показать результаты, и M-x slime-profile-reset для сброса.

Ответ 2

Если вы используете SBCL, есть опрятный статистический профилировщик - http://www.sbcl.org/manual/Statistical-Profiler.html.

Для простых измерений вы можете использовать time, который доступен во всех реализациях Common Lisp.