cuckoo: Haskell Implementation of Cuckoo Filters

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Haskell implementation of Cuckoo filters as described in

B. Fan, D.G. Anderson, M. Kaminsky, M.D. Mitzenmacher. Cuckoo Filter: Practically Better Than Bloom. In Proc. CoNEXT, 2014.

Cuckoo filters are a data structure for probabilistic set membership. They support insertion, deletion, and membership queries for set elements.

Membership queries may return false positive results. But queries don't return false negative results.

Unlike Bloom filters, Cuckoo filters maintain an upper bound on the false positive rate that is independent of the load of the filter. However, insertion of new elements in the filter can fail. For typical configurations this probability is very small for load factors smaller than 90 percent.


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.1.0.0, 0.2.0.0, 0.2.0.1
Change logCHANGELOG.md
Dependenciesbase (>=4.11 && <4.15), memory (>=0.14), primitive (>=0.7), random-internal, vector (>=0.12) [details]
LicenseBSD-3-Clause
CopyrightCopyright (c) 2019, Lars Kuhtz <lakuhtz@gmail.com>
AuthorLars Kuhtz
Maintainerlakuhtz@gmail.com
CategoryData
Home pagehttps://github.com/larskuhtz/cuckoo
Bug trackerhttps://github.com/larskuhtz/cuckoo/issues
Source repositoryhead: git clone https://github.com/larskuhtz/cuckoo.git
UploadedSat Aug 17 05:34:02 UTC 2019 by larsk

Modules

[Index]

Flags

NameDescriptionDefaultType
mwc-random

Use mwc-random instead of the random package

DisabledManual
pcg-random

Use pcg-random instead of the random package

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for cuckoo-0.1.0.0

[back to package description]

Build Status

Haskell implementation of Cuckoo filters as described in

B. Fan, D.G. Anderson, M. Kaminsky, M.D. Mitzenmacher. Cuckoo Filter: Practically Better Than Bloom. In Proc. CoNEXT, 2014.

Cuckoo filters are a data structure for probabilistic set membership. They support insertion, deletion, and membership queries for set elements.

Membership queries may return false positive results. But queries don't return false negative results.

Unlike Bloom filters, Cuckoo filters maintain an upper bound on the false positive rate that is independent of the load of the filter. However, insertion of new elements in the filter can fail. For typical configurations this probability is very small for load factors smaller than 90 percent.

The implementation allows the user to specify the bucket size and the fingerprint size in addition to the capacity of the filter. The user can also provide custom functions for computing the primary hash and fingerprint.