On 2014-10-09 15:01:19 -0400, Robert Haas wrote: > On Thu, Oct 9, 2014 at 8:20 AM, Andres Freund <and...@2ndquadrant.com> wrote: > > On 2014-10-09 08:18:18 -0400, Robert Haas wrote: > >> On Thu, Oct 9, 2014 at 5:34 AM, Andres Freund <and...@2ndquadrant.com> > >> wrote: > >> > Interesting - in my local profile AtStart_Inval() is more pronounced > >> > than AfterTriggerBeginQuery(). I've quickly and in a ugly fashion hacked > >> > AtStart_Inval() out of readonly queries ontop of your patch. Together > >> > that yields a ~3.5% performance improvement in my trivial 'SELECT * FROM > >> > tbl WHER pkey = xxx' testcase. > >> > >> Whoa. Now that's clearly significant. > > > > Well, my guess it'll be far less noticeable in less trivial > > workloads. But it does seem worthwile. > > > >> You didn't attach the patch; was that inadvertent, or was it too ugly > >> for that? > > > > Far, far too ugly ;). I just removed the AtStart() call from xact.c and > > sprinkled it around relevant places instead ;) > > OK, here's an attempt at a real patch for that. I haven't perf-tested this.
Neato. With a really trivial SELECT: before: tps = 28150.794776 (excluding connections establishing) after: tps = 29978.767703 (excluding connections establishing) slightly more meaningful: before: tps = 21272.400039 (including connections establishing) after: tps = 22290.703482 (excluding connections establishing) So that's a noticeable win. Obviously it's going to be less for more complicated stuff, but still... I've not really looked at the patches though. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers