discussion: would it be worth adding warnings for suboptimal configuration?
timcharper opened this issue · comments
I personally noticed dape
performed worse before changing GC and read-process-output-max
, wondering if it'd make sense to add warnings if:
read-process-output-max
is at the default (4096)- If
gc-cons-threshold
is at the default (800000). - If
(json-available-p)
returns non-true (--with-json
flag during build, should be turned on for most distros).
I also think the default debug logging settings substantially slow down Emacs for dape
and should probably be tuned. dape
should probably emit a warning if logging is aggressive, that it will impact the performance of dape
.
Sounds like an good idea. Currently I am working on removing dapes own parsing with jsonrpc
and then the logging will be from jsonrpc
and not dape so let's revisit this when I am done with the change 👍
ok, sounds like json-rpc probably remove the need for this, so I'll close for now.
jsonrcp is now on master, but I don't believe that will come with any great performance improvements so I'll go ahead and reopen this issue
I can contribute this
I closed the dape-doctor PR since, with time, I'm not actually convinced this is the way to go. Code to help you optimize Emacs belongs in another package, not in a debug backend package.
Also, the benefits are not super clear with my rough, unscientific, terrible benchmarks. In light projects: no difference. In larger projects (where it takes 20-30s to reach the breakpoint), I saw maybe a 10-20% improvement. In light of that, probably warrants a mention in the docs. IDK if the README is the right place for it though, happy to stick it somewhere in the Wiki to be forgotten if you prefer.