Re: Query is over 2x slower with jit=on
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, 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:54:43Z
Lists: pgsql-hackers
čt 20. 9. 2018 v 5:39 odesílatel Andres Freund <andres@anarazel.de> napsal: > On 2018-09-19 23:26:52 -0400, Tom Lane wrote: > > 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. > > Yea, I do think that's a fair complaint. > > > > > 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. > > > > > Options: Inlining, Optimization > > > Times (Total, Generation, Inlining, Optimization, Emission): 43.4 > ms, 0.680 ms, 7.591 ms, 20.522 ms, 14.607 ms > +1 Pavel > > > > > 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 > > Yea, that's probably easier to read. > > > > (total at the end seems more natural to me, YMMV). > > I kind of think doing it first is best, because that's usually the first > thing one wants to know. > > > > 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. > > I'm pretty certain you're right :). There's already arguments around > making optimization more gradual (akin to O1,2,3). > > Greetings, > > Andres Freund > >
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