strncmp->memcmp when we know the shorter length

Поиск
Список
Период
Сортировка
От Noah Misch
Тема strncmp->memcmp when we know the shorter length
Дата
Msg-id 20101220181042.GA29282@tornado.gateway.2wire.net
обсуждение исходный текст
Ответы Re: strncmp->memcmp when we know the shorter length  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
When the caller knows the smaller string length, memcmp and strncmp are
functionally equivalent.  Since memcmp need not watch each byte for a NULL
terminator, it often compares a CPU word at a time for better performance.  The
attached patch changes use of strncmp to memcmp where we have the length of the
shorter string.  I was most interested in the varlena.c instances, but I tried
to find all applicable call sites.  To benchmark it, I used the attached
"bench-texteq.sql".  This patch improved my 5-run average timing of the SELECT
from 65.8s to 56.9s, a 13% improvement.  I can't think of a case where the
change should be pessimal.

Thanks,
nm

Вложения

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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: relaxing sync commit if no WAL written (was Re: unlogged tables)
Следующее
От: Noah Misch
Дата:
Сообщение: texteq/byteaeq: avoid detoast