On 2/8/17 5:11 PM, Kyle Gearhart wrote:
Overall, wall clock improves 24%.  User time elapsed is a 430% improvement.  
About half the time is spent waiting on the IO with the callback.  With the 
regular pqRowProcessor only about 16% of the time is spent waiting on IO.

To wit...

                real    user    sys
single row      0.214   0.131   0.048
callback        0.161   0.030   0.051

Those are averaged over 11 runs.

Can you run a trace to see where all the time is going in the single row case? I don't see an obvious time-suck with a quick look through the code. It'd be interesting to see how things change if you eliminate the filler column from the SELECT.

Also, the backend should be buffering ~8kb of data before handing that to the socket. If that's more than the kernel can buffer I'd expect a serious performance hit.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532)


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to