Home

Awesome

fzy-lua-native

Luajit FFI bindings to FZY.

Building

make

Running

luajit benchmark.lua

Results:

Lines: 100000

Native:
 -> Total: 34130
 -> Time:  69.418 ms
Original:
 -> Total: 34130
 -> Time:  835.683 ms

Notes

The C version of fzy in that repo contains 2 differences with the original:

Usage

The fzy algorithm requires that you call fzy.has_match(string, needle) to prefilter all your matches. Only after that is done you can call the other functions such as fzy.positions(string, needle).