On Mon, May 23, 2016 at 8:50 AM, Andres Freund <and...@anarazel.de> wrote: > On 2016-05-23 17:19:09 +0800, Craig Ringer wrote: >> Following on from the foreign table batch inserts thread[1], here's a patch >> to add support for pipelining queries into asynchronous batches in libpq. > > Yay! >> I'm measuring 300x (not %) performance improvements doing batches on >> servers over the Internet, so this seems pretty worthwhile. It turned out >> to be way less invasive than I expected too. > > yay^2.
I'll follow this mood. Yeha. >> (I intentionally didn't add any way for clients to annotate each work-item >> in a batch with their own private data. I think that'd be really useful and >> would make implementing clients easier, but should be a separate patch). >> >> This should be very useful for optimising FDWs, Postgres-XC, etc. > > And optimizing normal clients. > > Not easy, but I'd be very curious how much psql's performance improves > when replaying a .sql style dump, and replaying from a !tty fd, after > hacking it up to use the batch API. Did you consider the use of simple_list.c instead of introducing a new mimic as PGcommandQueueEntry? It would be cool avoiding adding new list emulations on frontends. -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers