fzf/shell
Tomas Janousek ef2c29d5d4 [bash-completion] Optimize __fzf_orig_completion_filter
Commit d4ad4a25 slowed loading of completion.bash significantly (on my
laptop from 10 ms to 30 ms), then 54891d11 improved that (to 20 ms) but
it still stands out as the heavy part of my .bashrc.

Rewriting __fzf_orig_completion_filter to pure bash without forking to
sed/awk brings this back under 10 ms.

before:

    $ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
    Benchmark #1: bash --rcfile shell/completion.bash -i
      Time (mean ± σ):      21.2 ms ±   0.3 ms    [User: 24.9 ms, System: 6.4 ms]
      Range (min … max):    20.7 ms …  23.3 ms    132 runs

after:

    $ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
    Benchmark #1: bash --rcfile shell/completion.bash -i
      Time (mean ± σ):       9.6 ms ±   0.3 ms    [User: 8.0 ms, System: 2.2 ms]
      Range (min … max):     9.3 ms …  11.4 ms    298 runs

Fixes: d4ad4a25db ("[bash-completion] Fix default alias/variable completion")
Fixes: 54891d11e0 ("[bash-completion] Minor optimization")
2020-11-13 02:16:54 +09:00
..
completion.bash [bash-completion] Optimize __fzf_orig_completion_filter 2020-11-13 02:16:54 +09:00
completion.zsh [completion] Make host completion handle source files without EOL 2020-10-06 20:54:42 +09:00
key-bindings.bash [fzf-tmux] Fall back to plain fzf when split failed 2020-04-03 13:23:15 +09:00
key-bindings.fish [fish] Fix parser handling of option-like args (#2208) 2020-10-12 12:58:37 +09:00
key-bindings.zsh [zsh] Keep current $BUFFER on ALT-C 2020-10-03 14:55:02 +09:00