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");}

http://code.google.com/p/java-longfastbloomfilter

Tags
Implementation
License
Platform

   




Related Projects

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).

Phpbloomfilter - PHP port of CPAN's Bloom::Filter


This is an attempted port of Maciej Ceglowski's CPAN's Bloom::Filter to PHP. Source: http://search.cpan.org/src/MCEGLOWS/Bloom-Filter-1.0/Filter.pm CPAN Bloom:Filter page http://search.cpan.org/~mceglows/Bloom-Filter-1.0/Filter.pm From CPAN Description: A Bloom filter is a probabilistic algorithm for doing existence tests in less memory than a full list of keys would require. The tradeoff to using Bloom filters is a certain configurable risk of false positives. This module implements a simple Bl