On Thu, Dec 13, 2012 at 3:03 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> It moves a computation of the sort of:
>
> result -= vacuum_defer_cleanup_age;
> if (!TransactionIdIsNormal(result))
> result = FirstNormalTransactionId;
>
> inside ProcArrayLock. But I can't really imagine that to be relevant...
I can. Go look at some of the 9.2 optimizations around
GetSnapshotData(). Those made a BIG difference under heavy
concurrency and they were definitely micro-optimization. For example,
the introduction of NormalTransactionIdPrecedes() was shockingly
effective.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company