Re: Optimizing COPY with SIMD

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема Re: Optimizing COPY with SIMD
Дата
Msg-id ZmC28LZUXg3URgWX@nathan
обсуждение исходный текст
Ответ на Re: Optimizing COPY with SIMD  (Neil Conway <neil.conway@gmail.com>)
Ответы Re: Optimizing COPY with SIMD
Список pgsql-hackers
On Wed, Jun 05, 2024 at 01:46:44PM -0400, Neil Conway wrote:
> We could go further and use the same code to handle both the tail of the
> string in the vectorized case and the entire string in the non-vectorized
> case, but I didn't bother with that -- as written, it would require taking
> an unnecessary strlen() of the input string in the non-vectorized case.

For pg_lfind32(), we ended up using an overlapping approach for the
vectorized case (see commit 7644a73).  That appeared to help more than it
harmed in the many (admittedly branch predictor friendly) tests I ran.  I
wonder if you could do something similar here.

> Looks like there is a slight regression for short attribute values, but I
> think the tradeoff is a net win.

It'd be interesting to see the threshold where your patch starts winning.
IIUC the vector stuff won't take effect until there are 16 bytes to
process.  If we don't expect attributes to ordinarily be >= 16 bytes, it
might be worth trying to mitigate this ~3% regression.  Maybe we can find
some other small gains elsewhere to offset it.

-- 
nathan



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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: ssl tests fail due to TCP port conflict
Следующее
От: Nathan Bossart
Дата:
Сообщение: Re: Better error message when --single is not the first arg to postgres executable