| From: | "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com> |
|---|---|
| To: | "Andrew Dunstan" <andrew(at)dunslane(dot)net> |
| Cc: | <pgsql-patches(at)postgresql(dot)org> |
| Subject: | Re: CopyReadLineText optimization |
| Date: | 2008-03-10 16:08:35 |
| Message-ID: | 47D55D03.7010108@enterprisedb.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers pgsql-patches |
Andrew Dunstan wrote:
> Another question that occurred to me - did you try using strpbrk() to
> look for the next interesting character rather than your homegrown
> searcher gadget? If so, how did that perform?
It looks like strpbrk() performs poorly:
unpatched:
testname | min duration
----------+-----------------
all | 00:00:08.099656
1/2 | 00:00:06.734241
1/4 | 00:00:06.016946
1/8 | 00:00:05.622122
1/16 | 00:00:05.304252
none | 00:00:05.155755
(6 rows)
strpbrk:
testname | min duration
----------+-----------------
all | 00:00:22.980997
1/2 | 00:00:13.724834
1/4 | 00:00:08.980246
1/8 | 00:00:06.582357
1/16 | 00:00:05.291485
none | 00:00:06.239468
(6 rows)
memchr:
testname | min duration
----------+-----------------
all | 00:00:13.684479
1/2 | 00:00:09.509213
1/4 | 00:00:06.921959
1/8 | 00:00:05.654761
1/16 | 00:00:04.719027
none | 00:00:03.718361
(6 rows)
Attached is the test script and patches I used, if someone wants to test
this on another platform.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
| Attachment | Content-Type | Size |
|---|---|---|
| copy-readline-memchr-4.patch | text/x-diff | 7.5 KB |
| copy-readline-strpbrk-1.patch | text/x-diff | 1.5 KB |
| copy-script.sh | application/x-shellscript | 1.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Zoltan Boszormenyi | 2008-03-10 16:17:18 | [Fwd: Re: [PATCHES] 64-bit CommandIds] |
| Previous Message | Teodor Sigaev | 2008-03-10 16:01:46 | Re: Include Lists for Text Search |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Rainer Pruy | 2008-03-10 16:55:43 | Re: Very slow (2 tuples/second) sequential scan after bulk insert; speed returns to ~500 tuples/second after commit |
| Previous Message | Teodor Sigaev | 2008-03-10 16:01:46 | Re: Include Lists for Text Search |