Re: SendRowDescriptionMessage() is slow for queries with a lot of columns

From: Andres Freund <andres(at)anarazel(dot)de>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: SendRowDescriptionMessage() is slow for queries with a lot of columns
Date: 2017-10-11 03:19:42
Message-ID: 20171011031942.45h3bzvkjhy35lua@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2017-10-03 13:58:37 -0400, Robert Haas wrote:
> On Tue, Oct 3, 2017 at 12:23 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > Makes sense?
>
> Yes.

Here's an updated version of this patchset. Changes:

- renamed pq_send$type_pre to pq_write*type
- renamed pq_beginmessage_pre/pq_beginmessage_keep to the _reuse suffix
- removed unaligned memory access issues by again using memcpy - gcc and
clang both successfully optimize it away
- moved permanent buffer for SendRowDescriptionMessage to postgres.c,
and have other callers use already pre-existing buffers.
- replace all pq_sendint with pq_sendint$width in core
- converted applicable pq_begin/endmessage in printtup.c users to use
DR_printtup->buf.
- added comments explaining restrict usage
- expanded commit messages considerably
- Small stuff.

The naming I'd discussed a bit back and forth with Robert over IM,
thanks!

- Andres

Attachment Content-Type Size
0001-Add-configure-infrastructure-to-detect-support-fo.v3.patch text/x-diff 4.2 KB
0002-Allow-to-avoid-NUL-byte-management-for-stringinfo.v3.patch text/x-diff 4.8 KB
0003-Add-more-efficient-functions-to-pqformat-API.v3.patch text/x-diff 12.1 KB
0004-Use-one-stringbuffer-for-all-rows-printed-in-prin.v3.patch text/x-diff 6.0 KB
0005-Improve-performance-of-SendRowDescriptionMessage.v3.patch text/x-diff 11.0 KB
0006-Replace-remaining-uses-of-pq_sendint-with-pq_send.v3.patch text/x-diff 35.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeremy Schneider 2017-10-11 03:44:39 Re: show precise repos version for dev builds?
Previous Message Michael Paquier 2017-10-11 02:35:20 Re: [COMMITTERS] pgsql: Fix freezing of a dead HOT-updated tuple