From: Doug Doole <dougdoole@gmail.com>
To: pgsql-hackers@postgresql.org
Subject: Re: Improving executor performance
Date: Fri, 4 Nov 2016 15:25:58 -0700
Message-ID: <be2aa0e9-81b9-6510-b2ad-28a21a9580aa@gmail.com> (raw)
In-Reply-To: <20160714011850.bd5zhu35szle3n3c@alap3.anarazel.de>
References: <20160624232953.beub22r6yqux4gcp@alap3.anarazel.de>
<20160714011850.bd5zhu35szle3n3c@alap3.anarazel.de>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>
On 07/13/2016 06:18 PM, Andres Freund wrote:
> Attached (in patch 0003) is a proof-of-concept implementing an
> expression evalution framework that doesn't use recursion. Instead
> ExecInitExpr2 computes a number of 'steps' necessary to compute an
> expression. These steps are stored in a linear array, and executed one
> after another (save boolean expressions, which can jump to later steps).
> E.g. to compute colname = 1 the steps are 1) fetch var, 2) evaluate
> const, 3) call function.
We've been having trouble with the performance of simple expressions in
PLpgSQL so I started playing with this patch. (No sense re-inventing the
wheel after all.) It was straightforward to extend to simple expressions
and showed an immediate improvement (~10% faster on a simple test).
Running in our full environment highlighted a few areas that I think are
worth more investigation.
However, before I tackle that, is the posted proof-of-concept still the
latest and greatest? If not, any chance of getting the latest?
Going forward, I'd like to collaborate on our efforts if you're interested.
- Doug Doole
Salesforce
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: dougdoole@gmail.com
Subject: Re: Improving executor performance
In-Reply-To: <be2aa0e9-81b9-6510-b2ad-28a21a9580aa@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox