Re: Optimizing GetConflictingVirtualXIDs() - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Optimizing GetConflictingVirtualXIDs()
Date
Msg-id 1266169168.7341.9433.camel@ebony
Whole thread Raw
In response to Re: Optimizing GetConflictingVirtualXIDs()  (Greg Stark <gsstark@mit.edu>)
Responses Re: Optimizing GetConflictingVirtualXIDs()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Sun, 2010-02-14 at 17:06 +0000, Greg Stark wrote:
> On Sun, Feb 14, 2010 at 2:59 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> > Optimize GetConflictingVirtualXIDs() in roughly the same manner we
> > optimize TransactionIdIsInProgress().
> >
> > Views?
> 
> EINSUFFICIENTEXPLANATION :)

...I like that error code.


The patch adds a calculation of RecentGlobalXmin each time it accesses
the proc array to derive conflicts. It then uses the derived value to
provide a fast-path out if a potential snapshot conflict arrives that we
already know will not conflict with any backends. The purpose of this is
to reduce the number of scans of the procarray and improve the
performance of the startup process.

The mechanism and purpose is the same as the first check in
TransactionIdIsInProgress().

-- Simon Riggs           www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Re: Faster CREATE DATABASE by delaying fsync (was 8.4.1 ubuntu karmic slow createdb)
Next
From: Devrim GÜNDÜZ
Date:
Subject: Re: psycopg2 license changed