Skip to content

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

License

Notifications You must be signed in to change notification settings

arashi-software/floof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages