Skip to content

Latest commit

 

History

History
23 lines (22 loc) · 784 Bytes

File metadata and controls

23 lines (22 loc) · 784 Bytes

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