Re: texteq/byteaeq: avoid detoast

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: texteq/byteaeq: avoid detoast
Дата
Msg-id AANLkTinBFfeWxcaW8=4fcL72ErUoHA+KuTxYbbr+3mZ_@mail.gmail.com
обсуждение исходный текст
Ответ на texteq/byteaeq: avoid detoast  (Noah Misch <noah@leadboat.com>)
Ответы Re: texteq/byteaeq: avoid detoast  (Noah Misch <noah@leadboat.com>)
Список pgsql-hackers
On Mon, Dec 20, 2010 at 1:19 PM, Noah Misch <noah@leadboat.com> wrote:
> texteq, textne, byteaeq and byteane detoast their arguments, then check for
> equality of length.  Unequal lengths imply the answer trivially; given equal
> lengths, the functions proceed to compare the actual bytes.  We can skip
> detoasting entirely when the lengths are unequal.  The attached patch implements
> this.  As submitted, it applies atop of my recent strncmp->memcmp patch, but
> they are logically independent.  To benchmark some optimal and pessimal cases, I
> used the attached "bench-skip-texteq.sql".  It uses a few datum sizes and varies
> whether the length check succeeds:
>
> bench-skip-texteq.sql, 10 MiB nomatch: 58.4s previous, 0.00664s patched
> bench-skip-texteq.sql,  144 B   match: 73.0s previous, 71.9s patched
> bench-skip-texteq.sql,    3 B   match: 68.8s previous, 67.3s patched
> bench-skip-texteq.sql,    3 B nomatch: 45.0s previous, 46.0s patched
>
> The timing differences in the smaller-length test cases are probably not
> statistically significant.

Can you add this to the currently-open CommitFest, so we don't lose track of it?

https://commitfest.postgresql.org/action/commitfest_view/open

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: SSPI client authentication in non-Windows builds
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [PATCH] V3: Idle in transaction cancellation