From: | Jeroen Vermeulen <jtvjtv(at)gmail(dot)com> |
---|---|
To: | Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: libpq: PQgetCopyData() and allocation overhead |
Date: | 2023-02-10 10:32:00 |
Message-ID: | CA+zULE6bV9yg9+=u0KAhjz-C_YpDr6bh5YknkffgqDHiKWugOg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Here's the patch (as a PR just to make it easy to read):
https://github.com/jtv/postgres/pull/1
I don't have an easily readable benchmark yet, since I've been timing the
potential impact on libpqxx. But can do that next.
Jeroen
On Fri, Feb 10, 2023, 11:26 Bharath Rupireddy <
bharath(dot)rupireddyforpostgres(at)gmail(dot)com> wrote:
> On Fri, Feb 10, 2023 at 3:43 PM Jeroen Vermeulen <jtvjtv(at)gmail(dot)com> wrote:
> >
> > Would there be interest in a variant of PQgetCopyData() that re-uses the
> same buffer for a new row, rather than allocating a new buffer on each
> iteration?
> >
> > I tried it on a toy benchmark, and it reduced client-side CPU time by
> about 12%. (Less of a difference in wall-clock time of course; the client
> was only using the CPU for a bit over half the time.)
>
> Interesting. It might improve logical replication performance too as
> it uses COPY protocol.
>
> Do you mind sharing a patch, test case that you used and steps to
> verify the benefit?
>
> --
> Bharath Rupireddy
> PostgreSQL Contributors Team
> RDS Open Source Databases
> Amazon Web Services: https://aws.amazon.com
>
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2023-02-10 11:06:52 | Re: Support logical replication of DDLs |
Previous Message | Bharath Rupireddy | 2023-02-10 10:25:53 | Re: libpq: PQgetCopyData() and allocation overhead |