https://github.com/kost/libsimplebloom
Small bloom filter implementation in plain C with utils
https://github.com/kost/libsimplebloom
Last synced: about 2 months ago
JSON representation
Small bloom filter implementation in plain C with utils
- Host: GitHub
- URL: https://github.com/kost/libsimplebloom
- Owner: kost
- License: other
- Created: 2015-06-14T05:55:47.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-06-17T05:00:09.000Z (almost 10 years ago)
- Last Synced: 2025-01-31T06:39:42.797Z (4 months ago)
- Language: C
- Size: 227 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libsimplebloom
Small bloom filter implementation in plain C with utilsIntroduction
------------
This is libsimplebloom, a simple and small bloom filter implementation in C.If you are reading this you probably already know about bloom filters
and why you might use one. If not, the wikipedia article is a good intro:
http://en.wikipedia.org/wiki/Bloom_filterBuilding
--------
Building is done using CMake. That means:
```bash
cd libsimplebloom
mkdir build
cmake ..
make
make install
```By default it builds an optimized 32bit libsimplebloom. See Makefile comments
for other build options.Binaries and library will be under ./build directory.
Sample Usage
------------```c
#include "bloom.h"struct bloom bloom;
bloom_init(&bloom, 1000000, 0.01);
bloom_add(&bloom, buffer, buflen);if (bloom_check(&bloom, buffer, buflen)) {
printf("It may be there!\n");
}
```Documentation
-------------
Read bloom.h for more detailed documentation on the public interfaces.License
-------
This code (except MurmurHash2) is under BSD license. MurmurHash2 is
public domain. See LICENSE file.
This project is based on libbloom by Jyri J. Virkki. This version adds
different features: more items (int vs unsigned long), saving and
loading of bloom filter structure, CMake etc.See murmur2/README for info on MurmurHash2 (Public Domain).