This code uses a QuickServ web interface for creating small Bloom filters.
Compile by doing make
. Note that gcc
is required for compilation to succeed.
Each string submitted on its own line from the web interface will be added as an
entry in the Bloom filter. This code can be used with the web front-end.
Alternatively, text can be POST
ed directly to the back-end, which can be used
as a fast, server-side Bloom filter generator.
Bloom filters are probabilistic data structures, which means that when you query whether a string is in the set represented by the Bloom filter, the response from the data structure is either "no," or "probably yes." Bloom filters have two parameters that can be tuned to minimize the likelihood of false positive results: the size of the filter (the number of bits), and the number of hashes used to obtain a fingerprint of each item.
Based on calculations performed using this Bloom filter calculator, the Bloom filters generated by this code occupy 16MB of space and use 23 hash functions.
Code modified from the original implementation: https://github.com/jstrieb/hackernews-button