Skip site navigation (1) Skip section navigation (2)

Re: [PATCH] backend: compare word-at-a-time in bcTruelen

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: tomas(at)tuxteam(dot)de
Cc: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>, Jeremy Kerr <jk(at)ozlabs(dot)org>, Stephen Frost <sfrost(at)snowman(dot)net>, Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Gurjeet Singh <singh(dot)gurjeet(at)gmail(dot)com>
Subject: Re: [PATCH] backend: compare word-at-a-time in bcTruelen
Date: 2009-06-26 15:39:51
Message-ID: 7337.1246030791@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
tomas(at)tuxteam(dot)de writes:
> On Fri, Jun 26, 2009 at 05:03:11PM +0200, Dimitri Fontaine wrote:
>> It's becoming somewhat tricky, but maybe the test to do for the 
>> optimisation to get used is n >= threshold && str[n-6] == 0x20, la 
>> Boyer/Moore?

> That's cute. What about comparing the last aligned word which completely
> fits in the buffer? Something along the lines of (assuming four-byte
> words)
>    * (int*) (4 * ((int) &buf[0]) / 4)

We're trying to avoid adding cycles to the optimization-is-useless case.
The more expensive this test gets, the slower the unoptimizable case
becomes.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Andrew DunstanDate: 2009-06-26 16:15:44
Subject: Re: [PATCH] backend: compare word-at-a-time in bcTruelen
Previous:From: tomasDate: 2009-06-26 15:29:06
Subject: Re: [PATCH] backend: compare word-at-a-time in bcTruelen

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group