Copyright | (c) Chris Coffey 2018 |
---|---|
License | MIT |
Maintainer | chris@foldl.io |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
A strict IntMap-based implementation of a cuckoo filter. This is still quite efficient in terms of throughput, but the IntMap's internal structures baloon the memory usage, making it far less practical for real usecases.
Documentation
A Cuckoo Filter with a fixed size. The current implementation uses 8 bit fingerprints and 4 element buckets.
Instances
Monad m => CuckooFilter Filter m Source # | |
Defined in Data.CuckooFilter.Pure | |
Eq (Filter a) Source # | |
Show (Filter a) Source # | |
Generic (Filter a) Source # | |
ToJSON (Filter a) Source # | |
Defined in Data.CuckooFilter.Pure | |
FromJSON (Filter a) Source # | |
Serialize (Filter a) Source # | |
type Rep (Filter a) Source # | |
Defined in Data.CuckooFilter.Pure type Rep (Filter a) = D1 (MetaData "Filter" "Data.CuckooFilter.Pure" "cuckoo-filter-0.2.0.2-B7QL3ZxFbHGZXnXJGf4MU" False) (C1 (MetaCons "F" PrefixI True) (S1 (MetaSel (Just "buckets") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (IntMap Bucket)) :*: (S1 (MetaSel (Just "numBuckets") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Natural) :*: S1 (MetaSel (Just "size") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Size)))) |