I noticed recently that scrolling up/down in my #Emacs has been very slow. Used M-x profiler-start/stop/report
to determine the reason.
Removing orderless
makes it very fast, and this diff makes it fast enough (not sure why):
(use-package orderless
:straight t
:custom
- (completion-styles '(orderless))
- (completion-category-defaults nil)
- (completion-category-overrides '((file (styles . (partial-completion)))))
+ (completion-styles '(orderless basic))
+ (completion-category-overrides '((file (styles basic partial-completion))))
)
@srijan Scrolling in general, or just in the minibuffer?
@srijan Sounds like poor interaction between packages. I suspect it's with helm but that's probably just my personal bias against big complicated packages 🤷
@srijan Apologies, I took a quick look at your github, thought I saw helm in your init.
Are you sure you are measuring scrolling? I tried profiling and got similar report as yours, but I realized I didn't spend much time scrolling compared to time in the minibuffer to run M-x profiler-stop. When I scrolled for a longer time, it looked completely different. However I'm not seeing any scrolling slowness. (I'm also using vertico/orderless).
Probably better practice would be to bind a key to profile-stop, but I didn't try it since I'm not seeing the issue you are seeing.
Interestingly, I'm not able to reproduce the slowness issue today even with the original config, and I don't have the original profiler report saved. Maybe some other package caused it, and got fixed by an update.