cuckoo
cuckoo copied to clipboard
:bird: Cuckoo Filters in Elixir
Cuckoo
Cuckoo is a pure Elixir implementation of a Cuckoo Filter.
Usage
Add Cuckoo as a dependency in your mix.exs file.
def deps do
[{:cuckoo, "~> 1.0"}]
end
Examples
iex> cf = Cuckoo.new(1000, 16, 4)
%Cuckoo{...}
iex> {:ok, cf} = Cuckoo.insert(cf, 5)
%Cuckoo{...}
iex> Cuckoo.contains?(cf, 5)
true
iex> {:ok, cf} = Cuckoo.delete(cf, 5)
%Cuckoo{...}
iex> Cuckoo.contains?(cf, 5)
false
Implementation Details
The implementation follows the specification as per the paper above.
For hashing we use the x64_128 variant of Murmur3 and the Erlang phash2.