Improve performance of SendRowDescriptionMessage.
There's three categories of changes leading to better performance:
- Splitting the per-attribute part of SendRowDescriptionMessage into a v2 and a v3 version allows avoiding branches for
everyattribute.
- Preallocating the size of the buffer to be big enough for all attributes and then using pq_write* avoids unnecessary
buffersize checks & resizing.
- Reusing a persistently allocated StringInfo for all SendRowDescriptionMessage() invocations avoids repeated
allocations& reallocations.
Author: Andres Freund
Discussion: https://postgr.es/m/20170914063418.sckdzgjfrsbekae4@alap3.anarazel.de
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/4c119fbcd49ba882791c7b99a1e934b985468e9f
Modified Files
--------------
src/backend/access/common/printtup.c | 146 ++++++++++++++++++++++++++---------
src/backend/tcop/postgres.c | 35 +++++++--
src/include/access/printtup.h | 4 +-
3 files changed, 138 insertions(+), 47 deletions(-)
--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers