Re: SendRowDescriptionMessage() is slow for queries with a lot of columns
tushar <tushar.ahuja@enterprisedb.com>
From: tushar <tushar.ahuja@enterprisedb.com>
To: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org
Date: 2017-09-29T09:02:30Z
Lists: pgsql-hackers
On 09/27/2017 10:50 PM, Andres Freund wrote: > This'll allow the later patches to allow the compiler to perform the > relevant optimizations. It also allows to optimize e.g. pq_sendint64() > to avoid having to do multiple byteswaps. After applying all the required patches, able to see some performance gain Virtual Machine configuration - Centos 6.5 x64 / 16 GB RAM / 8 VCPU core processor ./pgbench -M prepared -j 10 -c 10 -f /tmp/pgbench-many-cols.sql postgres -T TIME After taking Median of 3 run - Case 1 – TIME=300 PG HEAD =>41285.089261 (excluding connections establishing) PG HEAD+patch =>tps= 42446.626947(2.81+% vs. head) Case 2- TIME=500 PG HEAD =>tps = 41252.897670 (excluding connections establishing) PG HEAD+patch =>tps= 42257.439550(2.43+% vs. head) Case 3- TIME=1000 PG HEAD =>tps = 1061.031463 (excluding connections establishing) PG HEAD+patch => tps= 8011.784839(3.30+% vs. head) Case 4-TIME=1500 PG HEAD =>tps = 40365.099628 (excluding connections establishing) PG HEAD+patch =>tps= 42385.372848(5.00+% vs. head) -- regards,tushar EnterpriseDB https://www.enterprisedb.com/ The Enterprise PostgreSQL Company
Commits
-
Replace remaining uses of pq_sendint with pq_sendint{8,16,32}.
- 31079a4a8e66 11.0 landed
-
Improve performance of SendRowDescriptionMessage.
- 4c119fbcd49b 11.0 landed
-
Use one stringbuffer for all rows printed in printtup.c.
- f2dec34e19d3 11.0 landed
-
Add configure infrastructure to detect support for C99's restrict.
- 0b974dba2d6b 11.0 landed
-
Add more efficient functions to pqformat API.
- 1de09ad8eb1f 11.0 landed
-
Allow to avoid NUL-byte management for stringinfos and use in format.c.
- 70c2d1be2b1e 11.0 landed
-
Replace most usages of ntoh[ls] and hton[sl] with pg_bswap.h.
- 0ba99c84e8c7 11.0 landed
-
Extend & revamp pg_bswap.h infrastructure.
- 510b8cbff15f 11.0 landed