Yggdroot / LeaderF

An efficient fuzzy finder that helps to locate files, buffers, mrus, gtags, etc. on the fly for both vim and neovim.
Apache License 2.0
2.14k stars 180 forks source link

LeaderF触发nvim cpu loading 异常 #1056

Closed xaljer closed 5 months ago

xaljer commented 6 months ago

Describe your question, feature request, or bug.

LeaderfFile 打开后不需搜索,即有如下CPU占用的异常。其他LeaderF功能也可能导致此问题,并未全部测试。关闭Leaderf后cpu loading恢复正常。 更早的nvim版本CPU直接占满,界面卡住。此版本固定占用20%左右的CPU。 图片

Steps to reproduce

LeaderfFile

Actual behaviour

cpu占用异常

Expected behaviour

打开Leaderf不应该引发性能问题。

xaljer commented 6 months ago

runtime/lua/vim/provider/python.lua

Yggdroot commented 6 months ago

这个问题是实现决定的,因为vim不支持多线程,所以加了个轮询机制来空转。 可以设置let g:Lf_NoAsync = 1

xaljer commented 6 months ago

这个问题是实现决定的,因为vim不支持多线程,所以加了个轮询机制来空转。 可以设置let g:Lf_NoAsync = 1

这样设置有什么其他的影响吗?

Yggdroot commented 6 months ago

这个问题是实现决定的,因为vim不支持多线程,所以加了个轮询机制来空转。 可以设置let g:Lf_NoAsync = 1

这样设置有什么其他的影响吗?

有时候可能搜不到结果,或者结果不完整。 不过10万以内个文件应该没什么问题。

xaljer commented 6 months ago

有时候可能搜不到结果,或者结果不完整。 不过10万以内个文件应该没什么问题。

这个问题是实现决定的,因为vim不支持多线程,所以加了个轮询机制来空转。 可以设置let g:Lf_NoAsync = 1

这样设置有什么其他的影响吗?

有时候可能搜不到结果,或者结果不完整。 不过10万以内个文件应该没什么问题。

这个问题好像也不是必现的?是新版本的Leaderf才会有还是新版本的neovim才会有? 我日常的工作环境有超过120万个文件……不过一直用的比较旧版本的LeaderF。

Yggdroot commented 6 months ago

leaderf的逻辑一直没变。

Yggdroot commented 1 month ago

修复了。