Re: Making aggregate deserialization (and WAL receive) functions slightly faster
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Michael Paquier <michael@paquier.xyz>,
PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2023-10-15T16:56:29Z
Lists: pgsql-hackers
David Rowley <dgrowleyml@gmail.com> writes: > I spent more time on this and did end up with 2 new init functions as > you mentioned. One for strictly read-only (initReadOnlyStringInfo), > which cannot be appended to, and as you mentioned, another > (initStringInfoFromString) which can accept a palloc'd buffer which > becomes managed by the stringinfo code. I know these names aren't > exactly as you mentioned. I'm open to adjusting still. This v3 looks pretty decent, although I noted one significant error and a few minor issues: * in initStringInfoFromString, str->maxlen must be set to len+1 not len * comment in exec_bind_message doesn't look like pgindent will like it * same in record_recv, plus it has a misspelling "Initalize" * in stringinfo.c, inclusion of pg_bitutils.h seems no longer needed I guess the next question is whether we want to stop here or try to relax the requirement about NUL-termination. I'd be inclined to call that a separate issue deserving a separate commit, so maybe we should go ahead and commit this much anyway. regards, tom lane
Commits
-
Make use of initReadOnlyStringInfo() in more places
- ac7d6f5f831e 17.0 landed
-
Optimize various aggregate deserialization functions, take 2
- 0c882a298881 17.0 landed
-
Introduce the concept of read-only StringInfos
- f0efa5aec193 17.0 landed
-
Revert "Optimize various aggregate deserialization functions"
- 4f3b56eea235 17.0 landed
-
Optimize various aggregate deserialization functions
- 608fd198def5 17.0 landed