Comments (14)
fzy is faster than skim, skim is faster than fzf
from fzf.vim.
Nope. lotabout/skim#317
And even that was when fzf was much slower than it is now.
from fzf.vim.
@junegunn do you have a guess on why my fzf starts to be super slow recently? I use the following command and it's super slow in a 50k lines rust repo
fd --type f --exclude .git --exclude node_modules --exclude .cache --exclude third-party --exclude vendor --exclude target --exclude Cargo.lock --exclude yarn.lock --exclude package-lock.json --exclude .zig-cache --follow --hidden
for example you can use https://github.com/0xPolygonZero/plonky2 repo
in this example, fzf is noticeable twice slow than skim, much slower than fzy. To be more specific, fzf took ~2s, skim took ~1s, fzy is instant
from fzf.vim.
Please provide the exact steps to reproduce the problem you're experiencing. What version did you use? What command did you use on what environment? What exactly was slow, loading of the list, or filtering of the list? What query pattern did you use? A screen recording of the situation would be helpful.
The plonky2 repository only has 290 files, and I don't think any of the programs will show any noticeable delay in processing such a tiny list.
from fzf.vim.
@junegunn the latest version of fzf and loading the list have been slow, all I'm saying is running:
fzf
directly, no query pattern, it took around 2seconds I'm not sure what happened. If you have time you can try to run:
fzf => 2s
sk => 1s
find . -type f | fzy => instant
from fzf.vim.
How about find . -type f | fzf
? Do you have $FZF_DEFAULT_COMMAND
set?
from fzf.vim.
@junegunn hi, I have FZF_DEFAULT_COMMAND
@junegunn do you have a guess on why my fzf starts to be super slow recently? I use the following command and it's super slow in a 50k lines rust repo
fd --type f --exclude .git --exclude node_modules --exclude .cache --exclude third-party --exclude vendor --exclude target --exclude Cargo.lock --exclude yarn.lock --exclude package-lock.json --exclude .zig-cache --follow --hidden
for example you can use https://github.com/0xPolygonZero/plonky2 repo
in this example, fzf is noticeable twice slow than skim, much slower than fzy. To be more specific, fzf took ~2s, skim took ~1s, fzy is instant
from fzf.vim.
@junegunn I observed a wierd thing, I reinstalled fzf from apt and it turns out to be much faster than before, not sure what happened on the installation process
a week or so I did an update using vim-plug, then fzf becomes noticeable slow
from fzf.vim.
How about
find . -type f | fzf
?
from fzf.vim.
find . -type f | fzf
do you have a way to benchmark? After reinstalling, sk and fzf perform quite similar in a 60k codebase, but fzf took longer to scan larger dataset (124GB)
My current fzf version is:
0.29 (devel)
My current sk version is:
sk 0.10.4
when I say it took longer I mean find . -type f | fzf
vs find . -type f | sk
, if we run them directly it's not noticeable
from fzf.vim.
I tried also telescope + fzf native and they are really fast but they have bugs. wondering if fzf.nvim can support more fuzzer so that people can switch.
As the codebase going bigger I think people will prefer native c version backend
from fzf.vim.
fzf => 2s
sk => 1s
find . -type f | fzy => instant
I was referring to this. You said fzy is fastest and sk is faster based on this observation. So I asked you how find . -type f | fzf
works. Is it instant, or is it still 2 seconds? Because you said you have $FZF_DEFAULT_COMMAND
, if it's instant,
it hints that there's something wrong with your shell configuration, and you'll likely experience the same amount of delay when you do time $SHELL -c "$FZF_DEFAULT_COMMAND" > /dev/null
, and it has nothing to do with fzf's performance.
0.29 (devel)
That's extremely outdated. The current version is 0.54.1.
from fzf.vim.
FYI, https://www.reddit.com/r/neovim/s/ZegekRoLvP
from fzf.vim.
hi @junegunn sorry I was quite busy and didn't get time to reply, I think you can forget this issue for now. after reinstall + switching versions etc. It works quite fast now.
So I think we just keep what it is should be good. Telescope has more bugs than fzf, I love the stability you provide, thanks for your hard work!
from fzf.vim.
Related Issues (20)
- [Rg] Is there a way to open the file and navigate to a line without having paths and line numbers in the output? HOT 1
- GitBranchFiles ?
- :Tags<cr>Query behaves differently from :Tags Query<cr> HOT 6
- The preview window pops up and then crashes before you can see it clearly on Windows 10 HOT 8
- [bug] :Commands command do not fuzzy find in windows HOT 2
- [bug] g:fzf_vim.preview_bash forced to always use backlash in windows
- Show enclosing object for line in preview window
- Use <C-enter> in fzf_actions HOT 2
- Errors running any command inside neovim HOT 4
- rfv works in vim HOT 1
- Using Ctrl+R to paste from a register in the fzf window
- tagpreview.sh - preview error with awk syntax error HOT 3
- BCommits Ctrl+D suddenly doesn't work properly HOT 3
- suggestion: refuse to open `:Files` (and other commands) if `'hidden'` is off and window has unsaved changes HOT 2
- Cursor does not stop blinking after :FZF (Windows, Git Bash)
- Get current fzf.vim colorscheme HOT 2
- Files ignores multiselection on Enter HOT 1
- abbreviate long paths with --with-nth chages search results HOT 1
- Preview window crashes for :Files and :RG HOT 17
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fzf.vim.