Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 890CA2E0060 for ; Thu, 27 Mar 2008 17:56:59 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 15273-03; Thu, 27 Mar 2008 17:56:55 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 Received: from zimbra.office.omniti.com (zimbra.omniti.com [8.8.38.77]) by postgresql.org (Postfix) with ESMTP id 03F982E0057; Thu, 27 Mar 2008 17:56:55 -0300 (ADT) Received: from localhost (localhost [127.0.0.1]) by zimbra.office.omniti.com (Postfix) with ESMTP id 68A9E8B05; Thu, 27 Mar 2008 16:56:54 -0400 (EDT) X-Quarantine-ID: Received: from zimbra.office.omniti.com ([127.0.0.1]) by localhost (zimbra.office.omniti.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GzGCbhqNrOr7; Thu, 27 Mar 2008 16:56:53 -0400 (EDT) Received: from [192.168.219.250] (unknown [192.168.219.250]) by zimbra.office.omniti.com (Postfix) with ESMTP id D7C908AFE; Thu, 27 Mar 2008 16:56:52 -0400 (EDT) From: Robert Treat To: pgsql-hackers@postgresql.org Subject: Re: [COMMITTERS] pgsql: Fix TransactionIdIsCurrentTransactionId() to use binary search Date: Thu, 27 Mar 2008 16:56:45 -0400 User-Agent: KMail/1.9.1 Cc: Tom Lane References: <20080317021856.0D2D37558DC@cvs.postgresql.org> In-Reply-To: <20080317021856.0D2D37558DC@cvs.postgresql.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803271656.45574.xzilla@users.sourceforge.net> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200803/1131 X-Sequence-Number: 115932 On Sunday 16 March 2008 22:18, Tom Lane wrote: > Log Message: > ----------- > Fix TransactionIdIsCurrentTransactionId() to use binary search instead of > linear search when checking child-transaction XIDs. This makes for an > important speedup in transactions that have large numbers of children, > as in a recent example from Craig Ringer. We can also get rid of an > ugly kluge that represented lists of TransactionIds as lists of OIDs. > Are there any plans to backpatch this into REL8_3_STABLE? It looks like I am hitting a pretty serious performance regression on 8.3 with a stored procedure that grabs a pretty big recordset, and loops through doing insert....update on unique failures. The procedure get progressivly slower the more records involved... and dbx shows me stuck in TransactionIdIsCurrentTransactionId(). I can provide provide more details if needed (lmk what your looking for) but it certainly looks like the issue discussed here: http://archives.postgresql.org/pgsql-performance/2008-03/msg00191.php -- Robert Treat Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL