fzy-lua-native
fzy-lua-native copied to clipboard
Luajit FFI bindings to FZY
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:
- the functions take a
is_case_sensitive
additional parameters that does what you think. It's a parameter rather than computed in the function because for our use-case, you want to computeis_case_sensitive
once for needle, instead of on each iteration of the loop. -
match_positions
usesuint32_t
for positions, becausesize_t
(uint64_t
) doesn't map well to lua types.