NeoVim Telescope Lag
A short story of unexpected lags of the fastest tools.
Ivan Elfimov, 2023-08-02, 1m (185 words)
Today I hit a sudden lag when using Live Grep in Telescope. You think this is impossible, but 5s spikes of 100% RAM and CPU usage on my M1 16G MacBook Air says otherwise.
I have ripgrep
installed and I checked htop
and it turned out, that lag comes from NeoVim and not from ripgrep
. Also running rg
from the command line is still very fast on the same query.
This happened only in one of my work projects. I started looking through the files and found that someone put 25Mb JSON file into the mock
directory. I swear it was not me.
At first I thought it was related to nvim-treesitter
and highlighting of the preview. But disabling treesitter didn’t help.
Adding mock
to file_ignore_patterns
was also a solution, but seemed to specific for this setting, because it usually has things like vendor
or node_modules
. Mock files in projects are not standardized.
Finally I decided to put .rgignore
file into the project directory and also put .rgignore
itself into my global .gitignore
so I don’t accidentally commit it. Now Live Grep is fast again.