Re: [PATCH] backend: compare word-at-a-time in bcTruelen - Mailing list pgsql-hackers

From tomas@tuxteam.de
Subject Re: [PATCH] backend: compare word-at-a-time in bcTruelen
Date
Msg-id 20090626152906.GA948@tomas
Whole thread Raw
In response to Re: [PATCH] backend: compare word-at-a-time in bcTruelen  (Dimitri Fontaine <dfontaine@hi-media.com>)
Responses Re: [PATCH] backend: compare word-at-a-time in bcTruelen
List pgsql-hackers
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, Jun 26, 2009 at 05:03:11PM +0200, Dimitri Fontaine wrote:
> Le 26 juin 09 à 14:47, Jeremy Kerr a écrit :
>> For the new function to be faster, we need to know that there are more
>> than 6 (on average, depending on alignment) trailing spaces.
>
> 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)

(now that's an ugly one, but you know what I mean?)

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFKROlCBcgs9XrR2kYRArHPAJ9VhT+RfK5/5BxwA0nxaOmK4nfuWACdFtFL
iKtvPaZY/KhDJMOf4hyzmQI=
=yd05
-----END PGP SIGNATURE-----


pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: [PATCH] backend: compare word-at-a-time in bcTruelen
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] backend: compare word-at-a-time in bcTruelen