You were way wide of the mark, though admittedly Bill reacted more
agressively than necessary, it's what happens when you use steroids to build
up your math muscles ;-)
Bill knows what a pseudorandom generator is, and how to use it for testing
hash functions, so do I. I don't really like the one you showed, though I
appeciate the fact it's a couple of assembly instructions and has a decent
period. Did you run a spectral test[1] on it? I'd be surprised if the
results are pretty, though pleasantly surprised. I have one myself sitting
around somewhere that's 2 or 3 instructions long, based on an LSR, which does
have some analyzable properties. Though for serious testing I wouldn't use
it - I'd crack my Numerical Recipes in C or use urandom, taking it on faith
that the coder was duly diligent. A few cycles saved evaluating the hash
just isn't worth it if you then have to wonder if patterns in your generator
are showing through to your test results.
You missed a lot if you didn't notice the quality of Bill's work on the hash.
I 100% agree with his approach[2]. The fact he managed to satisfy davem
should tell you a lot - we now have nice, short multiplicative hashes to use
that get evaluated as fast shift-adds on sparc. These hashes have *provably*
good behavior. Thanks Bill.
[1] see Knuth
[2] well, I sort of put him up to it...
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/