A new version of fzf is out. It's a minor update with no new feature, but "this is the best fzf ever". This version improves the initial scanning performance with reduced memory footprint.
So check it out if you haven't updated for a while.
The figure below shows how fzf performs with varying number of input lines (lower is better).
I initially wrote fzf in Ruby but I rewrote it in Go in 0.9.0. And as you can see above, it delivered significant performance improvement. And now the latest version of fzf can be twice as faster than the first fzf written in Go.
You might have noticed the performance regression between 0.13.5 and 0.15.9 in the above figure. That's because of the new search algorithm introduced in 0.15.0. The new algorithm, a variant of Smith-Waterman algorithm, requires more computation, but it is guaranteed to find the matching substring with the best score. Details can be found here. So the comparison is really not fair. But after all, the new version outperforms all its predecessors.