Re: Query is over 2x slower with jit=on
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Amit Khandekar <amitdkhan.pg@gmail.com>,
Andreas Joseph Krogh <andreas@visena.com>,
Robert Haas <robertmhaas@gmail.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
"Jonathan S. Katz" <jkatz@postgresql.org>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-09-20T03:26:52Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2018-09-17 17:50:15 -0400, Tom Lane wrote:
>> Just to throw a contrarian opinion into this: I find the current EXPLAIN
>> output for JIT to be insanely verbose already.
> Hm, it'd have been nice to get that feedback a little bit earlier, I did
> inquire...
> Currently:
> 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
Just to clarify, that seems perfectly fine for the "machine readable"
output formats. I'd just like fewer lines in the "human readable"
output.
> How about making that:
> JIT:
> Functions: 2
> Options: Inlining, Optimization
> Times (Total, Generation, Inlining, Optimization, Emission): 43.4 ms, 0.680 ms, 7.591 ms, 20.522 ms, 14.607 ms
> or something similar?
That's going in the right direction. Personally I'd make the last line
more like
Times: generation 0.680 ms, inlining 7.591 ms, optimization 20.522 ms, emission 14.607 ms, total 43.4 ms
(total at the end seems more natural to me, YMMV). Also, the "options"
format you suggest here seems a bit too biased towards binary on/off
options --- what happens when there's a three-way option? So maybe that
line should be like
Options: inlining on, optimization on
though I'm less sure about that part.
regards, tom lane
Commits
-
Fix issues around EXPLAIN with JIT.
- e97c4d967ba5 11.0 landed
- c03c1449c092 12.0 landed
-
Collect JIT instrumentation from workers.
- e63441c3f5ca 11.0 landed
- 33001fd7a707 12.0 landed
-
Make EXPLAIN output for JIT compilation more dense.
- 6859bd2632d8 11.0 landed
- 52050ad8ebec 12.0 landed
-
Save/restore SPI's global variables in SPI_connect() and SPI_finish().
- 825f10fbda7a 11.0 cited
-
Rationalize handling of single and double quotes in bootstrap data.
- 55d26ff638f0 11.0 cited