• This repository has been archived on 09/Nov/2022
  • Stars
    star
    113
  • Rank 299,040 (Top 7 %)
  • 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

๐ŸŒบ A pure Elixir implementation of Scalable Bloom Filters

Bloomex

Build Status Coverage Status Hex docs Hex Version License

Bloomex is a pure Elixir implementation of Scalable Bloom Filters.

Usage

Add Bloomex as a dependency in your mix.exs file.

def deps do
  [{:bloomex, "~> 1.0"}]
end

When you are done, run mix deps.get in your shell to fetch and compile Bloomex.

Examples

iex> bf = Bloomex.scalable(1000, 0.1, 0.1, 2)
%Bloomex.ScalableBloom...

iex> bf = Bloomex.add(bf, 5)
%Bloomex.ScalableBloom...

iex> Bloomex.member?(bf, 5)
true

iex> bf = Bloomex.add(bf, 100)
%Bloomex.ScalableBloom...

iex> Bloomex.member?(bf, 100)
true

iex> Bloomex.member?(bf, 105)
false

You can also pass in a hashing function to be used by the Bloom filter when creating one.

(assuming we have Murmur installed as a dependency)

iex> bf = Bloomex.scalable(1000, 0.1, 0.1, 2, &Murmur.hash_x86_128/1))
%Bloomex.ScalableBloom...

iex> bf = Bloomex.add(bf, 5)
%Bloomex.ScalableBloom...

iex> Bloomex.member?(bf, 5)
true

iex> bf = Bloomex.add(bf, 100)
%Bloomex.ScalableBloom...

iex> Bloomex.member?(bf, 100)
true

More Repositories

1

cuckoo

๐Ÿฆ Cuckoo Filters in Elixir
Elixir
42
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