From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Peter Eisentraut <peter(at)eisentraut(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Performance degradation on concurrent COPY into a single relation in PG16. |
Date: | 2023-08-01 14:00:47 |
Message-ID: | CAApHDvrVP+4dJNt9Lv+jbaM+wP-LWm58B00T0aGKqdthP1Af8w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, 2 Aug 2023 at 01:26, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> wrote:
>
> On Tue, 1 Aug 2023 at 13:55, David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
> >
> > I tried adding the "at least 1 digit check" by adding an else { goto
> > slow; } in the above code, but it seems to generate slower code than
> > just checking if (unlikely(ptr == s)) { goto slow; } after the loop.
> >
>
> That check isn't quite right, because "ptr" will not equal "s" if
> there is a sign character, so it won't detect an input with no digits
> in that case.
Ah, yeah. Thanks.
Here's a patch with an else condition when the first digit check fails.
master + fastpath4.patch:
latency average = 1579.576 ms
latency average = 1572.716 ms
latency average = 1563.398 ms
(appears slightly faster than fastpath3.patch)
David
Attachment | Content-Type | Size |
---|---|---|
pg_strtoint_fastpath4.patch | application/octet-stream | 8.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tristan Partin | 2023-08-01 14:02:17 | Re: BUG #17946: LC_MONETARY & DO LANGUAGE plperl - BUG |
Previous Message | Joe Conway | 2023-08-01 13:48:43 | Re: BUG #17946: LC_MONETARY & DO LANGUAGE plperl - BUG |