Java-longfastbloomfilter - longer faster bloom filter

  •        0

This is a Bloom Filter implemented in Java. Key Features: Most Java bloom filters use Java's BitSet class, which has a maximum number of bits allowed of Integer.MAX_VALUE. This bloom filter uses a custom class named LongBitSet, based off of Java's BitSet class, which allows for a maximum of (Integer.MAX_VALUE * 64) bits. The LongBitSet class also strips out unnecessary operations contained in the BitSet class. Uses extremely fast 64-bit Murmur Hash. Easily customizable to use more memory to speed up add's and lookup's. Intended Usage: long n = 1000000; // expected number of elements\t\tdouble falsePosProb = .01;\t\tLongFastBloomFilter longFastBloomFilter = LongFastBloomFilter.getFilter(n, falsePosProb);String element = "Element";longFastBloomFilter.add(element.getBytes());...if (longFastBloomFilter.contains(element.getBytes())) { System.out.println(element + " probably exists, but there is still a chance that this is a false positive");}



comments powered by Disqus

Related Projects

Guava - Google Core Libraries for Java

The Google Guava Libraries are a nice set of Java utility classes that will probably come in handy in any project. It provides immutable collections, string manipulation, handling primitives ,easier I/O, concurrency etc. it absolutely follows the Collections API requirements. It has support for murmur hash.

Pyfasthash - Python Non-cryptographic Hash Library

pyhash is a python non-cryptographic hash library. It provide several common hash algorithms with C/C++ implementation for performance. pyhash support the following hash algorithms FNV (Fowler-Noll-Vo) hash, MurmurHash 1/2/3, lookup3, SuperFastHash.

AiEngine - Packet Inspection Engine

AIEngine is a packet inspection engine with capabilities of learning without any human intervention. AIEngine helps network/security profesionals to identify traffic and develop signatures for use them on NIDS, Firewalls, Traffic classifiers and so on or use them on the engine automatically.

Bloomerl - Erlang Implementation of Bloom Filters

A Bloom Filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. UsageB0 = bloom:new(2000, 0.001).bloom:is_bloom(B0).B1 = bloom:add_element(Key, B0).bloom:is_element(Key, B1).