Dear CIDER users, do any of you use cider-profile functionality (https://docs.cider.mx/cider/debugging/profiling.html)? Choose ➕ if you do, ❓ if you never heard of it, and ➖ if you are aware of it but never use it. For those who do, I would be grateful if you specified in the thread why you use it over full-fledged profilers (clj-async-profiler, JMC, VisualVM, YourKit, etc.).
I’ve tried clj-async-profiler, but usually I start with guesswork and sprinkling some time calls
I mostly use manual time or clj-async-profiler now for more complicated situations. I like the clarity of the report in the latter.
It generally feels that CIDER features need a bit of up-front learning (keyboard shortcuts etc.) and often are so text-focused (Emacs standard). For a report I like a bit more styling and/or graphs.
I do use the debugger in CIDER and sometimes wish for a slightly enhanced pretty printing experience (for a kind of watch what is going on in the app DB situation and then drill-down/explore).
I tend to use clj-async-profiler (and criterium for more fine-grained benchmarking)
I used it a few times but it has been rare. I thought it was a nice quick way to get a rough idea of functions performance
I also use clj-async-profiler and criterium instead
if cider-profile was made "pluggable" so you can delegate the sampling to a profiler of your choice (e.g. via multimethods or some other extension mechanism) it might see more use because other sampling tools are used more extensively.
however, having used it a handful of times, the cider-profile-report buffer isn't much of a value-add over printing to the REPL (in one way it's worse: it gets updated in place, which can obscure the effects of changes), so it's not clear it'd be worth the effort to introduce an extension mechanism.
@afoltzm Which sampling profilers would you use if this was possible? Is it Tufte, for example?
I use Tufte and clj-async-profiler most frequently.
I recently started writing complicated code (..damn..) so I started using cider-debug-defun-at-point . Works nicely, but how do I get rid of the breakpoint once I'm done with the debugging?
Evaluate the function normally.
facepalm
thanks 😄
👍 😊
looks like the CIDER doc for letfn points to a dead link
Please see
Yeah, it seems the links now look like this https://clojure.org/reference/special_forms#let
All the old pages redirect so old links should still work. I don’t remember ever removing letfn from there but maybe that happened at some point
I see there's no longer letfn in the reference, though.