Re: Change GUC hashtable to use simplehash?

From: John Naylor <johncnaylorls(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Jeff Davis <pgsql(at)j-davis(dot)com>, Gurjeet Singh <gurjeet(at)singh(dot)im>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Change GUC hashtable to use simplehash?
Date: 2023-12-02 08:35:24
Message-ID: CANWCAZaZ2QXvhWx7DS=yngOYuHGvea+-MsYqwoSWK2jCv3M8Dw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Nov 29, 2023 at 8:31 PM John Naylor <johncnaylorls(at)gmail(dot)com> wrote:
>
> Attached is a rough start with Andres's earlier ideas, to get
> something concrete out there.

While looking at the assembly out of curiosity, I found a couple bugs
in the split API that I've fixed locally.

I think the path forward is:

- performance measurements with both byte-at-a-time and
word-at-a-time, once I make sure they're fixed
- based on the above decide which one is best for guc_name_hash
- clean up hash function implementation
- test with with a new guc_name_compare (using what we learned from my
guc_name_eq) and see how well we do with keeping dynahash vs.
simplehash

Separately, for string_hash:

- run SMHasher and see about reincorporating length in the
calculation. v5 should be a clear improvement in collision behavior
over the current guc_name_hash, but we need to make sure it's at least
as good as hash_bytes, and ideally not lose anything compared to
standard fast_hash.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2023-12-02 08:39:05 Re: Remove unnecessary includes of system headers in header files
Previous Message John Naylor 2023-12-02 07:23:28 Commitfest 2023-11 is almost over