Closed wyuenho closed 4 years ago
Have you ever measured how slow the dired-next-line
is?
Basically, I think we should use the API provided by dired
instead of the low-level functions.
Benchmark of all-the-icons-dired--refresh
using elp-instrument-function
, running dired on my home directory (141 entries):
master:
This PR:
Also, as I said, line-move-*
signal errors and you aren't handling them.
I think we should use the API provided by dired instead of the low-level functions.
No you shouldn't. This PR just get back to how it was implemented before #24. If it isn't broken, don't "fix" it. You've been going around the Emacs community introducing breakages all over the place for about a year now. I sincerely urge you to be a little more careful next time, and don't introduce changes without any good reason. You don't like it is not a good enough reason. It's not the first time someone reminded you of that.
I used dired-k as a reference for overlay support for this package.
The dired-k
uses the dired-next-line
, and it seemed like a better one than the forward-line
, so I used it.
Because dired
is a huge package made up of a variety of hacks, I thought it needed to be accessed in the way dired
envisions.
Anyway, thanks to the benchmark, I found that dired-next-line
is slow.
I'm not sure about the line-move-*
signals. I don't see that error and it appears to be working fine.
How does that signal adversely affect your Emacs?
@wyuenho Thank you very much for your contribution and for taking the time to run those benchmarks.
I am happy with the changes and to merge it after the conflicts have been resolved.
P.S: Can we please avoid personal attacks ? Let's stay focused on the required changes and the motivation behind them. Thanks in advance.
@jtbm37 should be fixed now
@wyuenho Thank you.
This PR fixes this issue
Explanation:
dired-next-line
moves character by character, and its calls toline-move-*
signal errors, which stops timer functions from executing silently. This PR fixes both issues.CC @conao3