Emacs Consult搜索慢?调整参数提速
Why Emacs Consult async searches feel slow and how to speed them up
初次使用Emacs的Consult包时,我总觉得它的异步搜索比Counsel慢,每次输入后都要停顿一下才更新结果。后来才明白,这是Consult为了平衡性能而设计的保守默认值。通过调整consult-async-input-debounce、consult-async-input-throttle和consult-async-refresh-delay这三个变量,可以显著降低延迟,让搜索反馈更跟手。需要注意的是,这些设置只是优化了Emacs内部的反馈循环,并不会让ripgrep等外部工具跑得更快。在高性能电脑上,激进设置能带来极致体验,但在笔记本或大项目上,默认值或许更能兼顾电量与效率。
降低延迟本质上是一种明确的权衡:用更频繁的异步工作来换取更低的输入延迟。
HN 评论区
20- geocar
完全可以自动确定合适的参数值:先测量你的打字速度。
你可以在后台运行这个工具:
https://pavpanchekha.com/blog/emacs-keylogger.html
然后定期更新延迟参数,使其略高于你的自然打字速度。
- KallDrexx
你知道是什么让 Emacs 用起来感觉慢吗?
是企业级 EDR 那一套鬼扯。
我一直以为 Emacs 难用到不行,直到我发现它在我家用电脑上快得飞起。EDR 造成的各种停顿,加上 Emacs 本身主要是单线程的,真是让人崩溃。我现在在公司日常开发还是用 Emacs 当 IDE,因为它的 workflows 比别的工具更适合我,但这事儿确实挺让人头疼的。