floof

SIMD-accelerated multithreaded fuzzy search thats fast as f*ck


Need help? Read Nimble

floof - SIMD-accelerated multithreaded fuzzy search thats fast as f*ck

Getting started

Add the floof library to your project with nimble

nimble add floof

Usage

Floof uses the SSE2 simd intrinsics, which come standard on all CPU's produced after 2003. Usage is simple as floof does all the heavy lifting

import floof
import std/[sequtils, strutils]
let
  dictionary = toSeq(walkDir("/usr/share/applications/")).mapIt(
    it.path.splitPath().tail.replace(".desktop", "")
  )
  searchTerm = paramStr(1)
  
echo "Searching for: ", searchTerm
let results = search(searchTerm, dictionary) # Use floof's search function
for res in results:
  echo res.text, " (score: ", res.score.formatFloat(ffDecimal, 3), ")"

Make sure to compile with the --threads:on flag

Author: arashi-software

Licence: BSD-3-Clause

Project website

Docs