Re: updated hash functions for postgresql v1 - Mailing list pgsql-patches

From Kenneth Marshall
Subject Re: updated hash functions for postgresql v1
Date
Msg-id 20071028180558.GY27320@it.is.rice.edu
Whole thread Raw
In response to Re: updated hash functions for postgresql v1  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: updated hash functions for postgresql v1  (Simon Riggs <simon@2ndquadrant.com>)
Re: updated hash functions for postgresql v1  (bob_jenkins@burtleburtle.net)
List pgsql-patches
On Sun, Oct 28, 2007 at 05:27:38PM +0000, Simon Riggs wrote:
> On Sat, 2007-10-27 at 15:15 -0500, Kenneth Marshall wrote:
> > Its features include a better and faster hash function.
>
> Looks very promising. Do you have any performance test results to show
> it really is faster, when compiled into Postgres? Better probably needs
> some definition also; in what way are the hash functions better?
>
> --
>   Simon Riggs
>   2ndQuadrant  http://www.2ndQuadrant.com
>
The new hash function is roughly twice as fast as the old function in
terms of straight CPU time. It uses the same design as the current
hash but provides code paths for aligned and unaligned access as well
as separate mixing functions for different blocks in the hash run
instead of having one general purpose block. I think the speed will
not be an obvious win with smaller items, but will be very important
when hashing larger items (up to 32kb).

Better in this case means that the new hash mixes more thoroughly
which results in less collisions and more even bucket distribution.
There is also a 64-bit varient which is still faster since it can
take advantage of the 64-bit processor instruction set.

Ken

pgsql-patches by date:

Previous
From: Simon Riggs
Date:
Subject: Re: updated hash functions for postgresql v1
Next
From: Simon Riggs
Date:
Subject: Re: updated hash functions for postgresql v1