On Tue, Dec 6, 2016 at 11:10:59AM -0800, Andres Freund wrote:
> > I concur with your feeling that hand-rolled JIT is right out. But
> > I'm not sure that whatever performance gain we might get in this
> > direction is worth the costs.
>
> Well, I'm not impartial, but I don't think we do our users a service by
> leaving significant speedups untackled, and after spending a *LOT* of
> time on this, I don't see much other choice than JITing. Note that
> nearly everything performance sensitive is moving towards doing JITing
> in some form or another.
Agreed, we don't really have a choice. After all the optimizations we
have done to so many subsystems, our executor is relatively slow and is
a major drag on our system, specifically for long-running queries. The
base problem with the executor are the state machines at so many levels,
and we really can't optimize that while keeping a reasonable maintenance
burden.
This is where JIT and LLVM help. I outlined two external projects that
were researching this in this blog entry:
http://momjian.us/main/blogs/pgblog/2016.html#April_1_2016
I am excited to now be seeing WIP code.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +