Re: Question about tcp hash function tcp_hashfn()

From: Brian F. G. Bidulock
Date: Fri Jun 02 2006 - 13:37:00 EST


Florian,

On Fri, 02 Jun 2006, Florian Weimer wrote:
>
> I see them now. Hmm. Is there a theoretical explanation for them?

Jenkins is an ad hoc function that is far from ideal. As you know,
the ideal hash changes 1/2 the bits in the output value for each one
bit change in the input value(s). Jenkins changes a few as 1/3 and
performs less than ideal over even a small smaple of the input data
set (Jenkins said he checked several billion of the trilions of
changes).

It should not be suprising that a general purpose ad hoc function
(Jenkins) performs poorer than a specific purpose ad hoc function
(XOR), for the very specific input data sets that the later was chosen
to cover.

Theoretically, XOR can be improved upon, but Jenkins doesn't do it.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/