On 10.05.2016 20:26, Robert Haas wrote:
> At this moment (February) them have implemented translation of only few
> PostgreSQL operators used by ExecQuals and do not support aggregates.
> Them get about 2 times increase of speed at synthetic queries and 25%
> increase at TPC-H Q1 (for Q1 most critical is generation of native code for
> aggregates, because ExecQual itself takes only 6% of time for this query).
> Actually these 25% for Q1 were achieved not by using dynamic code
> generation, but switching from PULL to PUSH model in executor.
> It seems to be yet another interesting PostgreSQL executor transformation.
> As far as I know, them are going to publish result of their work to open
> source...
> Interesting. You may notice that in "asynchronous mode" my prototype
> works using a push model of sorts. Maybe that should be taken
> further.
>
Latest information from ISP RAS guys: them have made good progress since
February: them have rewritten most of methods of Scan, Aggregate and
Join to LLVM API. Also then implemented automatic translation of
PostgreSQL backend functions to LLVM API.
As a result time of TPC-H Q1 query is reduced four times.
--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company