[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070411233326.GD4893@lazybastard.org>
Date: Thu, 12 Apr 2007 01:33:26 +0200
From: Jörn Engel <joern@...ybastard.org>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: David Lang <david.lang@...italinsight.com>,
Neil Brown <neilb@...e.de>, Theodore Tso <tytso@....edu>,
Christoph Hellwig <hch@...radead.org>,
Ulrich Drepper <drepper@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: If not readdir() then what?
On Wed, 11 April 2007 16:23:21 -0700, H. Peter Anvin wrote:
> David Lang wrote:
> >On Thu, 12 Apr 2007, Neil Brown wrote:
> >
> >>For the second.
> >> You say that you " would need at least 96 bits in order to make that
> >> guarantee; 64 bits of hash, plus a 32-bit count value in the hash
> >> collision chain". I think 96 is a bit greedy. Surely 48 bits of
> >> hash and 16 bits of collision-chain-position would plenty. You would
> >> need 65537 entries before a collision was even possible, and
> >> billions before it was at all likely. (How big does a set of 48bit
> >> numbers have to get before the probability that "No subset of 65536
> >> numbers are all the same" drops below 0.95?)
> >
> > you can get a hash collision with two entries.
>
> Yes, but the probability is 2^-n for an n-bit hash, assuming it's
> uniformly distributed.
>
> The probability approaches 1/2 as the number of entries hashes
> approaches 2^(n/2) (birthday number.)
I believe you are both barking up the wrong tree. Neil proposed a 16bit
collision chain. With that, it takes 65537 entries before a collision
chain overflow is possible.
Calling a collision chain overflow "collision" is inviting confusion, of
course. :)
Jörn
--
The competent programmer is fully aware of the strictly limited size of
his own skull; therefore he approaches the programming task in full
humility, and among other things he avoids clever tricks like the plague.
-- Edsger W. Dijkstra
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists