No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
src
tests
.clang-format
.gitignore
CMakeLists.txt
README.md

README.md

Cuculiform

Cuculiform is a simple Cuckoo filter implementation as C++11 single-header library, independent from the reference implementation.

A Cuckoo filter is a space-efficient probabilistic data structure for fast set membership testing. They have properties similar to Bloom filters, but in contrast, Cuckoo filters support deletion.

For details about the algorithm, see: "Cuckoo Filter: Practically Better Than Bloom" in proceedings of ACM CoNEXT 2014 by Bin Fan, Dave Andersen and Michael Kaminsky

Build Instructions

Cuculiform depends on HighwayHash being present for its default hash function, but the hash function is interchangeable.

git clone https://git.scc.kit.edu/dsn-projects/nsm/cuculiform.git
git clone https://github.com/google/highwayhash.git
git clone https://github.com/google/cityhash.git

cd highwayhash
make -j$(nproc)

cd ../cityhash
./configure --prefix="$(pwd)" --with-pic
make all check CXXFLAGS="-g -O3"
make install

cd ../cuculiform
mkdir build
cd build
cmake ..
make
./cuculiform_test

Name Origin

cuculiform, def.: cuckoo-like, part of the order Cuculiformes