On 2018-09-20 09:07:21 -0400, Stephen Frost wrote:
> Greetings,
>
> * Andres Freund (andres@anarazel.de) wrote:
> > On 2018-09-19 23:26:52 -0400, Tom Lane wrote:
> > > Andres Freund <andres@anarazel.de> writes:
> > > > JIT:
> > > > Functions: 2
> > > > Generation Time: 0.680 ms
> > > > Inlining: true
> > > > Inlining Time: 7.591 ms
> > > > Optimization: true
> > > > Optimization Time: 20.522 ms
> > > > Emission Time: 14.607 ms
> [...]
> > > > How about making that:
> > > > JIT:
> > > > Functions: 2
> >
> > FWIW, not that I want to do that now, but at some point it might make
> > sense to sub-divide this into things like number of "expressions",
> > "tuple deforming", "plans", ... Just mentioning that if somebody wants
> > to comment on reformatting this as well, if we're tinkering anyway.
>
> I'd actually think we'd maybe want some kind of 'verbose' mode which
> shows exactly what got JIT'd and what didn't- one of the questions that
> I think people will be asking is "why didn't X get JIT'd?" and I don't
> think that's very easy to figure out currently.
That seems largely a separate discussion / feature though, right? I'm
not entirely clear what precisely you mean with "why didn't X get
JIT'd?" - currently that's a whole query decision.
> > I'm pretty certain you're right :). There's already arguments around
> > making optimization more gradual (akin to O1,2,3).
>
> That certainly sounds like it'd be very neat to have though I wonder how
> well we'll be able to automatically plan out which optimization level to
> use when..
Well, that's not really different from having to decide whether to use
JIT or not. I suspect that once / if we get caching and/or background
JIT compilation, we can get a lot more creative around this.
Greetings,
Andres Freund