clojure profiling

¿Herramienta de perfil para Clojure?



profiling (4)

Acaba de encontrar el profile en Clojure contrib .

No funciona para grandes cantidades de código (explotó con OutOfMemoryError en una solución de Project Euler que VisualVM manejó bien) y requiere que inserte llamadas de perfil en las funciones que desea perfilar.

Aún así, es una mejor alternativa a VisualVM en los casos en los que solo desea perfilar un par de funciones.

¿Alguien sabe de una buena herramienta de perfiles o biblioteca para Clojure?

Preferiría algo que pudiera usarse desde el REPL, en la línea de (with-profiling ...) en Allegro Common Lisp de nuevo en el día.

¿Hay algo por el estilo?

¿O tiene alguna experiencia con perfiladores de Java (no comerciales) que funcionan bien con Clojure?


Encontré que VisualVM (ver here y here ) es muy conveniente. Su uso con Clojure se describió hace aproximadamente un año en esta publicación de blog ; por lo que puedo ver, no está desactualizado de ninguna manera.

Tenga en cuenta que la GUI desde la cual se inicia el generador de perfiles de VisualVM tiene un área de texto prominente donde se pueden ingresar clases / paquetes para excluirlos de la creación de perfiles. Encuentro los resultados bastante más útiles cuando clojure.* Está en esa lista.



Rápido aviso de que he desaprobado el perfil de Timbre para una nueva biblioteca dedicada de perfiles Clojure + ClojureScript en github.com/ptaoussanis/tufte .

Eso es básicamente un refinamiento de las cosas de Timbre, además de documentos dedicados.

README incluye una comparison con herramientas JVM como VisualVM, YourKit, etc.