暫無描述

dstromberg a34fb54e30 Use the new this-pylint arguments. Skip two failed imports (that are alternates for each other) 13 年之前
Makefile a34fb54e30 Use the new this-pylint arguments. Skip two failed imports (that are alternates for each other) 13 年之前
README 2c101e4dba Few minor README improvements 13 年之前
bloom_filter_mod.py a59bfe300d Use 4 spaces intead of tabs 13 年之前
count-bits 5fb9908837 Larger blocks. Give a percentage of set/clear 13 年之前
gen-performance-graph d056ab122e Open the database file even if it does not yet exist 13 年之前
setup.py b77b4c8f6a Added setup.py and rules for using it in the Makefile 13 年之前
test-bloom-filter aae0b866e0 Tabs converted to spaces 13 年之前
this-pylint.old ad5e7b213a New this-pylint, now from external 13 年之前

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.

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