Re: BSD license compatible hash algorithm?
- From: Dag-Erling Smørgrav <des@xxxxxx>
- Date: Mon, 31 Dec 2007 12:36:29 +0100
"Aryeh M. Friedman" <aryeh.friedman@xxxxxxxxx> writes:
Dag-Erling Smørgrav <des@xxxxxx> writes:
"Aryeh M. Friedman" <aryeh.friedman@xxxxxxxxx> writes:Sorry for taking a while to reply.... but the above only applies if
All hashs have issues with pooling.... seeNot an "old wives' tale", but rather an easy way to implement a
http://www.burtleburtle.net/bob/hash/index.html... btw it is a
old wives tale that the number of buckets should be prime (mostly
based on the very weak implementation Knuth offered)
hash algorithm that is good enough for most simple uses: metric
modulo table size, where metric is a number derived from the item
in such a manner as to give a good spread.
your using a very primitive hash like Knuth's multiplication one....
You are overlooking a very common case: the use of a hash table to
implement an in-memory dictionary (aka associative array) where the key
is an integer with poor variability in the high-order bits. K % N where
K is the key and N is the size of the table requires very little code,
is reasonably efficient, and, provided that N is prime, gives a
reasonably good spread (excpet in pathological cases where the values of
K are clustered around multiples of N).
every modern hash I know of should have 2^k buckets actually for some
k<2^32 [in almost all cases <2^16 except for algorithms like the one I
mentioned I am working on which sets k=n where n=the bit count of the
key].
I certainly hope not. 2^(2^32) is several of billion orders of
magnitude more than the number of elementary particles in the known
universe (currently estimated at 10^80). Even 2^(2^16) is too big by
about sixty thousand orders of magnitude.
DES
--
Dag-Erling Smørgrav - des@xxxxxx
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"
- References:
- BSD license compatible hash algorithm?
- From: Garrett Cooper
- Re: BSD license compatible hash algorithm?
- From: Brooks Davis
- Re: BSD license compatible hash algorithm?
- From: Garrett Cooper
- Re: BSD license compatible hash algorithm?
- From: Ivan Voras
- Re: BSD license compatible hash algorithm?
- From: Aryeh M. Friedman
- Re: BSD license compatible hash algorithm?
- From: Dag-Erling Smørgrav
- Re: BSD license compatible hash algorithm?
- From: Aryeh M. Friedman
- BSD license compatible hash algorithm?
- Prev by Date: Re: Architectures with strict alignment?
- Next by Date: Re: Architectures with strict alignment?
- Previous by thread: Re: BSD license compatible hash algorithm?
- Next by thread: Re: BSD license compatible hash algorithm?
- Index(es):
Relevant Pages
|