postgresql/src/backend
Bruce Momjian 7ab7467318 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.

Neil Conway <neilconway@rogers.com>
2002-03-06 20:49:46 +00:00
..
access I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
bootstrap Commit to match discussed elog() changes. Only update is that LOG is 2002-03-02 21:39:36 +00:00
catalog Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
commands Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
executor I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
lib Add Assert check to catch vsnprintf overrunning its buffer. (Seen to 2002-03-04 18:34:02 +00:00
libpq Change made to elog: 2002-03-06 06:10:59 +00:00
main New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
nodes Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
optimizer Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
parser Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
po Updates from Serguei Mokhov 2002-01-26 19:00:11 +00:00
port Change made to elog: 2002-03-06 06:10:59 +00:00
postmaster Change made to elog: 2002-03-06 06:10:59 +00:00
regex New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
rewrite New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
storage Change made to elog: 2002-03-06 06:10:59 +00:00
tcop Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
tioga Change made to elog: 2002-03-06 06:10:59 +00:00
utils I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
Makefile Don't mention TIOGA in Makefile and move strdup.c rule into proper 2002-02-18 06:03:23 +00:00