Nav apraksta

Harshad Sharma 4a443fc7f8 Add missing dependency from previous author's repo: 8 gadi atpakaļ
.gitignore 1494a39739 Add a .gitignore. 8 gadi atpakaļ
Makefile 49885f92b6 performance-numbers.db no longer .PRECIOUS 10 gadi atpakaļ
README e886853fde Changed an errant comma to a period in the README 11 gadi atpakaļ
bloom_filter_mod.py 15acacf8d8 Several pylint fixes. Added .ropeproject to clean rule 8 gadi atpakaļ
count-bits 5fb9908837 Larger blocks. Give a percentage of set/clear 13 gadi atpakaļ
gen-performance-graph d31bb6e0ff Tabs to spaces 10 gadi atpakaļ
python2x3.py 4a443fc7f8 Add missing dependency from previous author's repo: 8 gadi atpakaļ
setup.py ca80ff76e3 Version bump 12 gadi atpakaļ
test-bloom-filter.py 55e824b5db Rename test-bloom-filter to test-bloom-filter.py 8 gadi atpakaļ

README


This bloom filter implementation:
1) Has a constructor that accepts a maximum comfortable number of members and maximum appropriate error (false positive) rate, and
derives the fiddly bits from that; most bloom filter modules ask the enduser to specify the fiddly bits themselves.
2) Has a nice test suite, including checks for error rate.
3) Is in pure Python that'll run on CPython 2.x, CPython 3.x, PyPy or Jython.
4) Has a pair of simple, fast hash functions that give a good error rate - they're better than many of the alternatives.
They're not Murmur or Jenkins, but the tests strongly suggest that they're working well.
5) Passes pylint and pep8.
6) Supports adding elements, testing for membership, and'ing sets and or'ing sets.

The code is derived from http://code.activestate.com/recipes/577686-bloom-filter/ and inherits that code's license (MIT).

For more about Bloom Filters:
http://en.wikipedia.org/wiki/Bloom_filter
http://spyced.blogspot.com/2009/01/all-you-ever-wanted-to-know-about.html