Hi, loving using your Cuckoo filter always loved the concept behind cuckoo hashing but never ended up using it until now.
There are some ways to make it faster however.
1: Support primitives such as int, long so there is no autoboxing overhead and garbage generation,
this would probably necessitate a class for each type like the trove collections do.
eg, IntCuckooFilter, LongCuckooFilter etc.
2: use atomicArray and compare and swap instead of locks for concurrency, locking always has a big overhead. see> https://github.com/Valloric/guava/tree/lock-free-bloom
3: Use xxHash instead of MurMur it is twice as fast with the same or better quality hashes and made the normal guava bloom filter access go from 440ns for the MURMUR128_MITZ_64 to 93ns for xxHash
see> google/guava#2748 (comment)
thanks for building such as great filter!
Hi, loving using your Cuckoo filter always loved the concept behind cuckoo hashing but never ended up using it until now.
There are some ways to make it faster however.
1: Support primitives such as int, long so there is no autoboxing overhead and garbage generation,
this would probably necessitate a class for each type like the trove collections do.
eg, IntCuckooFilter, LongCuckooFilter etc.
2: use atomicArray and compare and swap instead of locks for concurrency, locking always has a big overhead. see> https://github.com/Valloric/guava/tree/lock-free-bloom
3: Use xxHash instead of MurMur it is twice as fast with the same or better quality hashes and made the normal guava bloom filter access go from 440ns for the MURMUR128_MITZ_64 to 93ns for xxHash
see> google/guava#2748 (comment)
thanks for building such as great filter!