Comments (5)
Bruce, I think Will explains why one is enough here: http://willwhim.wpengine.com/2011/09/03/producing-n-hash-functions-by-hashing-only-once/
from bloom.
Cheers land. This paper referenced from the blog post helped, although I'll admit to still wading through it http://bit.ly/rgYdK3
One 64bit is equivalent to two 32bit hashes is probably the thing I had most trouble with, but I'm getting there. It's no worse than two different hashes with the same unevenness of distribution and has the benefit that you can choose the best algorithm and not have to deal with an inferior one.
Appreciate the help. Also found http://programmers.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed in my travels which was illuminating.
from bloom.
Thanks, Bruce.
I’ll give it all some thought.
--
Will
On November 21, 2014 at 8:00:12 AM, Bruce Fitzsimons ([email protected]) wrote:
Cheers land. This paper referenced from the blog post helped, although I'll admit to still wading through it http://bit.ly/rgYdK3
One 64bit is equivalent to two 32bit hashes is probably the thing I had most trouble with, but I'm getting there. It's no worse than two different hashes with the same unevenness of distribution and has the benefit that you can choose the best algorithm and not have to deal with an inferior one.
Appreciate the help. Also found http://programmers.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed in my travels which was illuminating.
—
Reply to this email directly or view it on GitHub.
from bloom.
Will, I'm by no means an expert on hash functions, but my understanding is that FNV is not a good choice for bloom filters because it fails to properly mix all the bits of the input. This page explains why http://bretmulvey.com/hash/6.html (compare with Jenkins Hash results: http://bretmulvey.com/hash/7.html)
from bloom.
I've now done some experimenting, and I'm satisfied that the FNV hash is working well enough. If you have some specific data showing that's not the case, I'd love to see it, but I've got to put it aside for now.
from bloom.
Related Issues (20)
- why not use uint8 on bloom bitset? HOT 1
- Applying the bloom filter for HASH160 addresses HOT 11
- Looking for new maintainer HOT 5
- Issue when importing package from master branch HOT 4
- go.sum missing HOT 1
- Missing /v3 suffix in tagged revision HOT 1
- Question for hashing strings and order inside it HOT 3
- Backward compatibillity break test failures on s390x HOT 3
- Add TestOrAdd, TestOrAddString HOT 1
- The VERSION file is correct? HOT 1
- Error in readme.md of v3 HOT 1
- Max number of elements HOT 2
- module declares its path as github.com/bits-and-blooms/bitset but require github.com/willf/bitset HOT 1
- Create SECURITY.md HOT 2
- 2x 128 bit hash instead of 2x 64 bit hash. Why? HOT 1
- OOB read using ReadFrom HOT 5
- how much memory is used per item / false positive percentage?
- bits-and-blooms can ensure thread-safe/go-routine safe? HOT 1
- is there a way to save results to disk when reboot? HOT 1
- Dead link in README file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bloom.