Re: Change GUC hashtable to use simplehash?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Change GUC hashtable to use simplehash?
Дата
Msg-id 20231117221705.sj2sb4fe3v7eijfk@awork3.anarazel.de
обсуждение исходный текст
Ответ на Re: Change GUC hashtable to use simplehash?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On 2023-11-17 17:04:04 -0500, Tom Lane wrote:
> Jeff Davis <pgsql@j-davis.com> writes:
> > On Fri, 2023-11-17 at 13:22 -0800, Gurjeet Singh wrote:
> >> But your argument of a nicer API might make a case for the patch.
> 
> > Yeah, that's what I was thinking. simplehash is newer and has a nicer
> > API, so if we like it and want to move more code over, this is one
> > step. But if we are fine using both hsearch.h and simplehash.h for
> > overlapping use cases indefinitely, then I'll drop this.
> 
> I can't imagine wanting to convert *every* hashtable in the system
> to simplehash; the added code bloat would be unreasonable.

Yea. And it's also just not suitable for everything. Stable pointers can be
very useful and some places have entries that are too large to be moved during
collisions.  Chained hashtables have their place.


> So yeah, I think we'll have two mechanisms indefinitely.  That's not to say
> that we might not rewrite hsearch.

We probably should. It's awkward to use, the code is very hard to follow, and
it's really not very fast.  Part of that is due to serving too many masters.
I doubt it's good idea to use the same code for highly contended, partitioned,
shared memory hashtables and many tiny local memory hashtables. The design
goals are just very different.

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Change GUC hashtable to use simplehash?
Следующее
От: Jeff Davis
Дата:
Сообщение: Re: Change GUC hashtable to use simplehash?