new hash function

From: Neil Conway <nconway(at)klamath(dot)dyndns(dot)org>
To: PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: new hash function
Date: 2002-03-05 02:36:09
Message-ID: 1015295769.9599.191.camel@jiro
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

I've attached a patch which implements Bob Jenkin's hash function for
PostgreSQL. This hash function replaces the one used by hash indexes and
the catalog cache. Hash joins use a different, relatively poor-quality
hash function, but I'll fix that later.

As suggested by Tom Lane, this patch also changes the size of the fixed
hash table used by the catalog cache to be a power-of-2 (instead of a
prime: I chose 256 instead of 257). This allows the catcache to lookup
hash buckets using a simple bitmask. This should improve the performance
of the catalog cache slightly, since the previous method (modulo a
prime) was slow.

In my tests, this improves the performance of hash indexes by between 4%
and 8%; the performance when using btree indexes or seqscans is
basically unchanged.

Unless anyone seems a problem, please apply.

Cheers,

Neil

--
Neil Conway <neilconway(at)rogers(dot)com>
PGP Key ID: DB3C29FC

Attachment Content-Type Size
jenkins_hash.patch text/plain 21.6 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christopher Kings-Lynne 2002-03-05 02:36:10 Re: Uniqueness of rule, constraint, and trigger names
Previous Message Rod Taylor 2002-03-05 02:16:43 Dependencies with pg_depends

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2002-03-05 02:43:14 Re: Showing index details with \d on psql
Previous Message Bruce Momjian 2002-03-05 02:05:28 Re: simple code cleanups