Re: JIT performance bug/regression & JIT EXPLAIN - Mailing list pgsql-hackers

From Andres Freund
Subject Re: JIT performance bug/regression & JIT EXPLAIN
Date
Msg-id 20191028232145.oj6jw3vnisikm7nl@alap3.anarazel.de
Whole thread Raw
In response to Re: JIT performance bug/regression & JIT EXPLAIN  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: JIT performance bug/regression & JIT EXPLAIN
List pgsql-hackers
Hi,

On 2019-10-28 15:05:01 -0400, Robert Haas wrote:
> On Fri, Sep 27, 2019 at 3:21 AM Andres Freund <andres@anarazel.de> wrote:
> > - JIT-Expr: whether the expression was JIT compiled (might e.g. not be
> >   the case because no parent was provided)
> > - JIT-Deform-{Scan,Outer,Inner}: wether necessary, and whether JIT accelerated.
> >
> > I don't like these names much, but ...
> >
> > For the deform cases I chose to display
> > a) the function name if JIT compiled
> > b) "false" if the expression is JIT compiled, deforming is
> >    necessary, but deforming is not JIT compiled (e.g. because the slot type
> >    wasn't fixed)
> > c) "null" if not necessary, with that being omitted in text mode.
> 
> I mean, why not just omit in all modes if it's not necessary? I don't
> see that making the information we produce randomly inconsistent
> between modes is buying us anything.

Because that's the normal way to represent something non-existing for
formats like json? There's a lot of information we show always for !text
format, even if not really applicable to the context (e.g. Triggers for
select statements). I think there's an argument to made to deviate in
this case, but I don't think it's obvious.

Abstract formatting reasons aside, it's actually useful to see where we
know we're dealing with tuples that don't need to be deformed and thus
overhead due to that cannot be relevant. Not sure if there's sufficient
consumers for that, but ...  We e.g. should verify that the "none"
doesn't suddenly vanish, because we broke the information that let us
infer that we don't need tuple deforming - and that's easier to
understand if there's an explicit field, rather than reasining from
absence. IMO.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: merging HashJoin and Hash nodes
Next
From: Andres Freund
Date:
Subject: Re: JIT performance bug/regression & JIT EXPLAIN