• This repository has been archived on 09/Nov/2022
  • Stars
    star
    42
  • Rank 633,384 (Top 13 %)
  • Language
    Elixir
  • License
    MIT License
  • Created over 9 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🐦 Cuckoo Filters in Elixir

Cuckoo

Build Status Coverage Status Hex docs Hex Version License

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.

More Repositories

1

bloomex

🌺 A pure Elixir implementation of Scalable Bloom Filters
Elixir
113
star
2

murmur

πŸ’¬ An implementation of the non-cryptographic hash Murmur3
Elixir
40
star
3

antidote_ccrdt

πŸ’Ύ Non-uniform operation-based CRDT implementations to use with AntidoteDB
Erlang
9
star
4

dotfiles-old

βš’οΈ My dotfiles
Python
7
star
5

git-puxaforte

πŸ’ͺπŸ’ͺπŸ’ͺπŸ’ͺπŸ’ͺπŸ’ͺ
Shell
5
star
6

airtable-data-extractor-extension

Allows you to extract raw data (JSON or CSV) from an Airtable shared view.
JavaScript
5
star
7

google-podcasts-volume-slider-extension

Allows you to change the volume of the podcast you're listening to on Google Podcasts.
JavaScript
4
star
8

tiny_logger

Elixir
3
star
9

embed-ocaml-c

A couple of short tests on embedding OCaml into C
C
3
star
10

embed-python-c

A couple of short tests on embedding Python into C
C
3
star
11

leap

πŸ‡ Leap implements the jump consistent hashing algorithm proposed by John Lamping and Eric Veach
Go
3
star
12

snake-clone

Snake clone in c++ for a university course.
C++
2
star
13

icl-interpreter

A programming language interpreter for a class on Interpreters and Compilers
Haskell
2
star
14

enumerator-auto_forced_lazy

Provides an AutoForcedLazy class that automatically forces the computation of an Enumerator::Lazy when needed.
Ruby
2
star
15

SublimeElixirPlayground

A Sublime Text 2/3 plugin to share Elixir code with Elixir Playground.
Python
2
star
16

pyml

A prototype on OCaml and Python interoperability.
C
2
star
17

blockchain

⛓️ A simple blockchain
Go
2
star
18

asdf-conduit

☝️ asdf plugin for conduit
Shell
1
star
19

atom-elixir-playground

A package to share Elixir code on Elixir Playground!
CoffeeScript
1
star
20

asd-p1

ABD implementation in Scala for Distributed System Algorithms class.
Scala
1
star
21

workflowy-linux-ctrl-k

Enables Ctrl+K shortcut for workflowy.com on Linux, that's it.
JavaScript
1
star
22

asdf-kubeval

☝️ asdf plugin for kubeval
Shell
1
star
23

notes

1
star
24

dotfiles

Shell
1
star
25

dall-e_exporter

Ruby
1
star
26

phoenix_tailwind_turbolinks_skeleton

An example of Phoenix with Tailwind CSS, PurgeCSS, Inter font, and Turbolinks.
Elixir
1
star
27

antidote_metrics_script

Elixir
1
star
28

gmcabrita

1
star
29

github-disable-turbolinks

JavaScript
1
star
30

asd-p2

Paxos implementation in Scala for Distributed System Algorithms class.
Scala
1
star