From owner-freebsd-current Wed Sep 24 10:31:17 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id KAA12489 for current-outgoing; Wed, 24 Sep 1997 10:31:17 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id KAA12481 for ; Wed, 24 Sep 1997 10:31:14 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id DAA04836; Thu, 25 Sep 1997 03:26:09 +1000 Date: Thu, 25 Sep 1997 03:26:09 +1000 From: Bruce Evans Message-Id: <199709241726.DAA04836@godzilla.zeta.org.au> To: bde@zeta.org.au, nate@mt.sri.com Subject: Re: new timeout routines Cc: current@freebsd.org, gibbs@plutotech.com Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >> Hash lookup is non-deterministic, since searching is required to handlle >> collisions. > >You had stated earlier that it would be easy to build a perfect hash >generator. Only for a special case. >> handlers where we would prefer deterministic behaviour. Note that hash >> lookup is not required for timeout() since we don't care about duplicates. > >Right, but hash insertion in the case of duplicates is still >non-deterministic. No it isn't, at least for STAILQ chained hash tables. Since we don't care about duplicates, we can just add to the end of the queue. Bruce