On 2018-04-18 17:35:31 +0200, Andreas Joseph Krogh wrote:
> With jit=on:
> https://explain.depesz.com/s/vYB
> Planning Time: 0.336 ms
> JIT:
> Functions: 716
> Generation Time: 78.404 ms
> Inlining: false
> Inlining Time: 0.000 ms
> Optimization: false
> Optimization Time: 43.916 ms
> Emission Time: 600.031 ms
Any chance this is a debug LLVM build?
> What's the deal with jit making it slower?
JIT has cost, and sometimes it's not beneficial. Here our heuristics
when to JIT appear to be a bit off. In the parallel world it's worse
because the JITing is duplicated for parallel workers atm.
PostgreSQL is built with "--enable-debug --with-llvm". LLVM is the one which comes with Ubuntu-17.10.
Some more info;
Without --enable-debug (seems this didn't impact performance mutch):
First 5 executions (prepared-statement issued from psql)
Planning Time: 47.634 ms
JIT:
Functions: 725
Generation Time: 74.748 ms
Inlining: true
Inlining Time: 90.763 ms
Optimization: true
Optimization Time: 5822.516 ms
Emission Time: 3089.127 ms
Execution Time: 16375.996 ms
After 5 executions (prepared-statement issued from psql)
Planning Time: 0.385 ms
JIT:
Functions: 716
Generation Time: 76.382 ms
Inlining: false
Inlining Time: 0.000 ms
Optimization: false
Optimization Time: 41.709 ms
Emission Time: 613.074 ms
Execution Time: 2031.830 ms
jit=off:
Planning Time: 0.171 ms
Execution Time: 832.489 ms
--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963