Re: RFC: Improve CPU cache locality of syscache searches

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: RFC: Improve CPU cache locality of syscache searches
Дата
Msg-id 20210806034945.fbfrcqtjffzfuo7b@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: RFC: Improve CPU cache locality of syscache searches  (Yura Sokolov <y.sokolov@postgrespro.ru>)
Ответы Re: RFC: Improve CPU cache locality of syscache searches  (Yura Sokolov <y.sokolov@postgrespro.ru>)
Список pgsql-hackers
Hi,

On 2021-08-06 06:43:55 +0300, Yura Sokolov wrote:
> Why don't use simplehash or something like that? Open-addressing schemes
> show superior cache locality.

I thought about that as well - but it doesn't really resolve the question of
what we want to store in-line in the hashtable and what not. We can't store
the tuples themselves in the hashtable for a myriad of reasons (need pointer
stability, they're variably sized, way too large to move around frequently).


> Well, simplehash entry will be 24 bytes this way. If simplehash template
> supports external key/element storage, then it could be shrunk to 16 bytes,
> and syscache entries will not need dlist_node. (But it doesn't at the
> moment).

I think storing keys outside of the hashtable entry defeats the purpose of the
open addressing, given that they are always checked and that our conflict
ratio should be fairly low.

Greetings,

Andres Freund



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

Предыдущее
От: Yura Sokolov
Дата:
Сообщение: Re: RFC: Improve CPU cache locality of syscache searches
Следующее
От: Noah Misch
Дата:
Сообщение: Re: Commitfest overflow