Re: Avoiding repeated snapshot computation - Mailing list pgsql-hackers

From Ants Aasma
Subject Re: Avoiding repeated snapshot computation
Date
Msg-id CA+CSw_u1Pv37wn8ovfH0D3yq8dsXV1qxrfzJqPzE1H3G3hXKPQ@mail.gmail.com
Whole thread Raw
In response to Re: Avoiding repeated snapshot computation  (Pavan Deolasee <pavan.deolasee@gmail.com>)
List pgsql-hackers
On Tue, Nov 29, 2011 at 7:12 AM, Pavan Deolasee
<pavan.deolasee@gmail.com> wrote:
> I think that a good idea. We need a representation that needs minimum
> processing to derive the snapshot.

I was looking over the generated code for GetSnapshotData to see if there
is any low hanging fruit for micro-optimization. The assembly mostly looks
pretty tight, but there are 3 function calls to TransactionIdPrecedes and
TransactionIdFollowsOrEquals. All the parameters are known to be normal
xids, so there are duplicated checks for that and a lot of movs for the calling
convention. I wonder if replacing them with special case macros would be
a good idea. In that case the whole check will compile down to one cmp
instruction. I'm running a set of benchmarks now on my laptop, but I guess
the difference will mostly become noticeable on beefier hardware when
ProcArray lock is heavily contended. Attached is a patch, if anyone wishes
to give it a go.

--
Ants Aasma

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Patch - Debug builds without optimization
Next
From: Tom Lane
Date:
Subject: Re: autovacuum and default_transaction_isolation