Re: strncmp->memcmp when we know the shorter length - Mailing list pgsql-hackers

From Robert Haas
Subject Re: strncmp->memcmp when we know the shorter length
Date
Msg-id AANLkTi=0OK7WTuptSa=mvtt2iH3RjP6yd6R3JcQtMOyN@mail.gmail.com
Whole thread Raw
In response to strncmp->memcmp when we know the shorter length  (Noah Misch <noah@leadboat.com>)
Responses Re: strncmp->memcmp when we know the shorter length  (Gurjeet Singh <singh.gurjeet@gmail.com>)
Re: strncmp->memcmp when we know the shorter length  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Mon, Dec 20, 2010 at 1:10 PM, Noah Misch <noah@leadboat.com> wrote:
> 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.

This is a good idea.  I will check this over and commit it.

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


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Comment typo in nodeWindowAgg.c
Next
From: Tom Lane
Date:
Subject: Re: The cost of visibillity testing? (gin-search)