From: | Doug Doole <dougdoole(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Improving executor performance |
Date: | 2016-11-04 17:52:25 |
Message-ID: | 8c1d094b-d718-f3f6-7090-8e0d927341fb@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> 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 be happy to collaborate on our efforts.
- Doug Doole
Salesforce
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2016-11-04 18:36:37 | Re: Bug in to_timestamp(). |
Previous Message | Amit Kapila | 2016-11-04 17:35:47 | Re: Hash Indexes |