On Wed, Apr 20, 2016 at 8:50 AM, Kevin Grittner <kgri...@gmail.com> wrote:
> In case anyone notices some code left at the bottom of bufmgr.h > related to inline functions, that was left on purpose, because I am > pretty sure that the fix for the performance regression observed > when the "snapshot too old" feature is disabled will involve making > at least part of TestForOldSnapshot() an inline function -- so it > seemed dumb to rip that out now only to put it back again right > away. I pushed something along those lines. I didn't want to inline the whole function because IsCatalogRelation() and RelationIsAccessibleInLogicalDecoding() seemed kinda big to inline and require rel.h to be included; so bringing them into bufmgr.h would have spread that around too far. Putting the quick tests in an inline function which calls a non-inlined _impl function seemed like the best compromise. My connectivity problems to our big NUMA machines have not yet been resolved, so I didn't have a better test case for this than 200 read-only clients at saturation on my single-socket i7, which was only a 2.2% to 2.3% regression -- so I encourage anyone who was able to create something more significant with old_snapshot_threshold = -1 to try with the latest and report the impact for your environment. I'm not sure whether any more is needed here. -- Kevin Grittner EDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers