Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #1428
| From | blp@cs.stanford.edu (Ben Pfaff) |
|---|---|
| Newsgroups | comp.programming, comp.unix.programmer |
| Subject | Re: hash function over IP address |
| Date | 2012-04-05 07:42 -0700 |
| Message-ID | <877gxukzo5.fsf@blp.benpfaff.org> (permalink) |
| References | <jliber$ocn$1@speranza.aioe.org> <87hawzyy3z.fsf@blp.benpfaff.org> <87398jw4ep.fsf@sapphire.mobileactivedefense.com> <87d37nyvjw.fsf@blp.benpfaff.org> <87k41uo2ph.fsf@sapphire.mobileactivedefense.com> |
Cross-posted to 2 groups.
Rainer Weikusat <rweikusat@mssgmbh.com> writes: > blp@cs.stanford.edu (Ben Pfaff) writes: >> Rainer Weikusat <rweikusat@mssgmbh.com> writes: >> >>> Ben Pfaff <blp@cs.stanford.edu> writes: >>>> "Mark" <mark_cruzNOTFORSPAM@hotmail.com> writes: >>>> >>>>> I'm trying to find a way create a hash value over multiple IP addresses (I >>>>> keep a list of IP addresses and its number is variable. The simplest method >>>>> I've found so far is (obviously not the most effective and collision free): >>>> >>>> Why not use one of many available high-quality hash functions? >>>> Three that come to mind without even going to a search engine: >>>> Jenkins lookup3, murmurhash, FNV. >>> >>> The simple answer is these hash functions are designed to be used for >>> large, variable length string keys NOT for small, fixed-size >>> quantities which can be compared with a single machine instruction. >>> >>> http://burtleburtle.net/bob/hash/integer.html >>> http://www.cris.com/~Ttwang/tech/inthash.htm >> >> He has a list of multiple IP addresses. A hash function for >> variable length keys may well be appropriate. > > Calculating the hash value must be cheaper than the full comparisons > which will be needed for a linear search. And performing extensive > byte-shuffling on machine words is not a good strategy to achieve > that. You suggested http://burtleburtle.net/bob/hash/integer.html. Take a look at the first suggested hash function for an integer there. GCC 4.4 with -O3 compiles this into 12 instructions. And then you have to figure out a way to combine multiple hashes for subsequent integers. Now look at, say, http://burtleburtle.net/bob/c/lookup3.c. It takes 12*3 instructions (according to the comments) to hash three 32-bit integers, which, per-integer, is the same rate, and you don't have to invent a way to combine them. -- "While the Melissa license is a bit unclear, Melissa aggressively encourages free distribution of its source code." --Kevin Dalley <kevin@seti.org>
Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar
hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-04 16:37 -0400
Re: hash function over IP address Barry Margolin <barmar@alum.mit.edu> - 2012-04-04 16:49 -0400
Re: hash function over IP address China Blue Water Navy <chine.bleu@yahoo.com> - 2012-04-04 14:02 -0700
Re: hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-04 17:21 -0400
Re: hash function over IP address Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-04 14:47 -0700
Re: hash function over IP address Ben Pfaff <blp@cs.stanford.edu> - 2012-04-04 14:40 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-04 22:52 +0100
Re: hash function over IP address blp@cs.stanford.edu (Ben Pfaff) - 2012-04-04 15:35 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 12:08 +0100
Re: hash function over IP address blp@cs.stanford.edu (Ben Pfaff) - 2012-04-05 07:42 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 16:29 +0100
Re: hash function over IP address Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-05 10:05 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 18:12 +0100
Re: hash function over IP address Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-05 10:23 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 18:34 +0100
Re: hash function over IP address Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-05 11:11 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 19:34 +0100
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 19:38 +0100
Re: hash function over IP address Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-04-05 12:18 -0700
Re: hash function over IP address scott@slp53.sl.home (Scott Lurndal) - 2012-04-05 18:45 +0000
Re: hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-05 15:02 -0400
Re: hash function over IP address Rick Jones <rick.jones2@hp.com> - 2012-04-04 23:18 +0000
Re: hash function over IP address William Ahern <william@wilbur.25thandClement.com> - 2012-04-04 16:57 -0700
Re: hash function over IP address Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-04 21:05 -0400
Re: hash function over IP address Barry Margolin <barmar@alum.mit.edu> - 2012-04-04 22:52 -0400
Re: hash function over IP address Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-05 08:46 -0400
Re: hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-05 08:42 -0400
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 15:04 +0100
Re: hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-05 10:43 -0400
Re: hash function over IP address Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-05 22:24 -0400
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-06 17:13 +0100
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-06 17:21 +0100
Re: hash function over IP address "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-04-09 10:04 -0400
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-09 15:54 +0100
Re: hash function over IP address BGB <cr88192@hotmail.com> - 2012-04-04 20:21 -0700
Re: hash function over IP address Udit Gangwani <uditg22@gmail.com> - 2012-04-05 00:26 -0700
Re: hash function over IP address Rainer Weikusat <rweikusat@mssgmbh.com> - 2012-04-05 12:15 +0100
Re: hash function over IP address Barry Margolin <barmar@alum.mit.edu> - 2012-04-05 07:52 -0400
csiph-web