The current recommendation for g:CtrlSpaceGlobCommand in the README is to use ag. Better tools now exist since CtrlSpace first came into being, and either rg or fd should be recommended to users instead.
Some very coarse benchmarks from my machine (CPU: Intel i5-6200U (4) @ 2.80GHz) on the current Linux source code:
$ time ag -l -g "" | wc -l --> 70317 files found, wall-clock time of 0m0.545s
$ time rg --files | wc -l --> 70588 files found, wall-clock time of 0m0.250s
$ time fd --type=file --color=never | wc -l --> 70588 files found, wall-clock time of 0m0.314s
Not only are rg and fd both faster than ag, they're also more accurate in regards to respecting .gitignore rules. The discrepancy in the number of files found b/w ag and the two newer tools come from additional .gitignore rules in the Linux source's .gitignore file, which contains the line !.gitignore, added so that # We don't want to ignore the following even if they are dot-files. Both rg and fd handle this special case correctly by globbing/finding these nested .gitignores inside of the Linux source, but ag incorrectly ignores them.
The current recommendation for
g:CtrlSpaceGlobCommandin the README is to useag. Better tools now exist since CtrlSpace first came into being, and eitherrgorfdshould be recommended to users instead.Some very coarse benchmarks from my machine (CPU: Intel i5-6200U (4) @ 2.80GHz) on the current Linux source code:
$ time ag -l -g "" | wc -l-->70317files found, wall-clock time of0m0.545s$ time rg --files | wc -l-->70588files found, wall-clock time of0m0.250s$ time fd --type=file --color=never | wc -l-->70588files found, wall-clock time of0m0.314sNot only are
rgandfdboth faster thanag, they're also more accurate in regards to respecting.gitignorerules. The discrepancy in the number of files found b/wagand the two newer tools come from additional.gitignorerules in the Linux source's.gitignorefile, which contains the line!.gitignore, added so that# We don't want to ignore the following even if they are dot-files. Bothrgandfdhandle this special case correctly by globbing/finding these nested.gitignores inside of the Linux source, butagincorrectly ignores them.