I finally tried out Rainbow's profiler a bit. Awesome!
Of course, since I'm commenting here, it's because I found a bug. Rainbow's profiler chokes on function calls in optional arguments:
arc> (profiler ((fn ((o x (do 1 2 3))) x))) ; good
3
arc> (profiler ((fn ((o x [list])) x.0))) ; good
nil
arc> (profiler ((fn ((o x (list))) x))) ; not good
Message : Unhandled exception on thread#0: Unhandled exception on thread#0: null
(...big stack trace...)
Also, the (system "open ...") call that opens the browser to the generated report page doesn't work on my current system (Windows XP without Cygwin). I was able to get around that by replacing it with a call to java.awt.Desktop.open(). ^_^