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