Git Product home page Git Product logo

Comments (14)

GopherJ avatar GopherJ commented on September 28, 2024

fzy is faster than skim, skim is faster than fzf

from fzf.vim.

junegunn avatar junegunn commented on September 28, 2024

Nope. lotabout/skim#317

And even that was when fzf was much slower than it is now.

from fzf.vim.

GopherJ avatar GopherJ commented on September 28, 2024

@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 avatar junegunn commented on September 28, 2024

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.

GopherJ avatar GopherJ commented on September 28, 2024

@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.

junegunn avatar junegunn commented on September 28, 2024

How about find . -type f | fzf? Do you have $FZF_DEFAULT_COMMAND set?

from fzf.vim.

GopherJ avatar GopherJ commented on September 28, 2024

@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.

GopherJ avatar GopherJ commented on September 28, 2024

@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.

junegunn avatar junegunn commented on September 28, 2024

How about find . -type f | fzf?

from fzf.vim.

GopherJ avatar GopherJ commented on September 28, 2024

@junegunn

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.

GopherJ avatar GopherJ commented on September 28, 2024

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.

junegunn avatar junegunn commented on September 28, 2024

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.

junegunn avatar junegunn commented on September 28, 2024

FYI, https://www.reddit.com/r/neovim/s/ZegekRoLvP

from fzf.vim.

GopherJ avatar GopherJ commented on September 28, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.