pgsql: Speed up tail processing when hashing aligned C strings

Поиск
Список
Период
Сортировка
От John Naylor
Тема pgsql: Speed up tail processing when hashing aligned C strings
Дата
Msg-id E1rqnoE-006d4W-4D@gemulon.postgresql.org
обсуждение исходный текст
Ответы Re: pgsql: Speed up tail processing when hashing aligned C strings  (John Naylor <johncnaylorls@gmail.com>)
Список pgsql-committers
Speed up tail processing when hashing aligned C strings

After encountering the NUL terminator, the word-at-a-time loop exits
and we must hash the remaining bytes. Previously we calculated the
terminator's position and re-loaded the remaining bytes from the input
string. We already have all the data we need in a register, so let's
just mask off the bytes we need and hash them immediately. The mask can
be cheaply computed without knowing the terminator's position. We still
need that position for the length calculation, but the CPU can now
do that in parallel with other work, shortening the dependency chain.

Ants Aasma and John Naylor

Discussion: https://postgr.es/m/CANwKhkP7pCiW_5fAswLhs71-JKGEz1c1%2BPC0a_w1fwY4iGMqUA%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/07f0f6abfc7f6c55cede528d9689dedecefc734a

Modified Files
--------------
src/include/common/hashfn_unstable.h | 44 ++++++++++++++++++++++++++++--------
1 file changed, 34 insertions(+), 10 deletions(-)


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

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Let table AM insertion methods control index insertion
Следующее
От: John Naylor
Дата:
Сообщение: Re: pgsql: Speed up tail processing when hashing aligned C strings