-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use native walker since output of DOS command is not UTF-8 encoded (Makes fzf 300x faster on Windows) #1847
Conversation
This implementation ignore hidden files. @junegunn If you don't like, I fix this to show all. |
Would it be possible to make the walker loop terminate early on FZF_DEFAULT_COMMAND= fzf --bind 'space:reload:echo foo' |
Added canceling |
Thanks, do you think it's okay to read |
Done |
Do you notice any slowdown because of the locking? |
Should I modify title of this issue to "250x times faster" ? (FYI, I can't notice which version is faster) |
😲 So not much difference? I was just wondering how much performance impact it would make, though I was pretty sure that it's not going to dwarf the initial performance improvement. Anyway, thanks, I'll merge this now. |
Thank you. |
Does the native file walker work on directory symlinks and junctions? |
No but this seems to be intended. |
fzf uses https://github.com/saracen/walker on Windows since v0.21.0 but it does not work on directory symlinks and junctions. I use directory junctions a lot. I prefer a list of files by default over nothing. junegunn/fzf#1847 (comment) https://github.com/saracen/walker/blob/324a081bae7e580aa0bf3afe8164acb16634afca/walker.go#L85
Current implementation of walker on Windows use MSDOS command. But the output of the command is not UTF-8 encoded. Also heavily slow.
This pull-request delete it and add implementation of native walker. This works 300 times faster on Windows on my environment.