Jeff King [off-list ref] writes:
I thought we were holding counts of hashes, in which case there _is_ no
overflow.
The raw hashval (the fingerprint recorded in struct spanhash) is
further reduced and used as an index into spahash_top.data[].
So more than one hashval can try to sit in the same slot in
spanhash_top.data[] array.
On Tue, Sep 18, 2007 at 01:58:17AM -0700, Junio C Hamano wrote:
quoted
I thought we were holding counts of hashes, in which case there _is_ no
overflow.
The raw hashval (the fingerprint recorded in struct spanhash) is
further reduced and used as an index into spahash_top.data[].
So more than one hashval can try to sit in the same slot in
spanhash_top.data[] array.
Right, that's sort of what I was hinting at in the original message. Can
we just make the hash table big enough to use the fingerprint hashes
directly? It's going to use a bit more memory, but lookups should be
very fast. I'll try to experiment and get some numbers.
-Peff