Number of buckets/partitions of dshash - Mailing list pgsql-hackers

From Ideriha, Takeshi
Subject Number of buckets/partitions of dshash
Date
Msg-id 4E72940DA2BF16479384A86D54D0988A6F1C1779@G01JPEXMBKW04
Whole thread Raw
Responses Re: Number of buckets/partitions of dshash  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers

Hi, let me clarify my understanding about the $title.

 

It seems that the number of hash partitions is fixed at 128 in dshash and

right now we cannot change it unless dshash.c code itself is changed, right?

 

According to the comment of dshash.c, DSHASH_NUM_PARTITIONS could be runtime parameter in future.

Are there someone working on it?

(I want to do it, but TBH I cannot promise it because of some other work.)

 

In my current development for allocating catalog cache on the shared memory[1]

I'm trying to put hash table of each CatCache to the shared memory using dshash.

The number of buckets for CatCache is pre-defined by cacheinfo and most of them is under 128 like 8 or 16.

This would cause some waste of memory on DSA because some partitions (buckets) is allocated but not used.

 

So I'm thinking that current dshash design is still ok but flexible size of partition is appropriate

for some use cases like mine.

 

Do you have any thoughts?

 

[1] https://www.postgresql.org/message-id/4E72940DA2BF16479384A86D54D0988A567B9245%40G01JPEXMBKW04

 

===================================================

Takeshi Ideriha

Fujitsu Limited

 

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: pgsql: Add TAP tests for pg_verify_checksums
Next
From: Richard Guo
Date:
Subject: Re: Restore CurrentUserId only if 'prevUser' is valid when abort transaction