кто-либо знает о хорошем профильном инструменте или библиотеке для Clojure?
Я предпочел бы что-то, что могло использоваться от REPL, вроде (with-profiling ...)
в языке Common LISP Allegro назад в день.
Есть ли что-нибудь вдоль тех строк?
Или у Вас есть опыт с (некоммерческими) профилировщиками Java, которые работают хорошо с Clojure?
Я обнаружил, что VisualVM (см. здесь и здесь ) очень удобен. Его использование с Clojure было описано около года назад в этой записи блога ; насколько я могу судить, он никак не устарел.
Обратите внимание, что графический интерфейс, из которого запускается профилировщик VisualVM, имеет заметную текстовую область, где можно ввести классы / пакеты, которые нужно исключить из профилирования - я считаю, что результаты более полезны при clojure. *
находится в этом списке.
Только что нашел профиль
в Clojure contrib .
Это не работает для больших объемов кода (оно взорвалось из-за OutOfMemoryError в решении Project Euler, с которым VisualVM отлично справилась) и требует, чтобы вы вставляли вызовы профилирования в функции, которые вы хотите профилировать.
Тем не менее, это лучшая альтернатива VisualVM в тех случаях, когда вы просто хотите профилировать несколько функций.