On 2018-06-26 21:25:54 +0200, Pavel Stehule wrote: > Hi > > I played with it and maybe I got interesting result. > > When I played with really big table, then I got IO waits and effect of > jit_tuple_deforming is near to zero (as expected) > > When I played with smaller table under RAM, then I can see positive effect > of JIT_TD, but only when optimization is active. When optimization was > false, then JIT_TD has negative slowdown. > > Shared buffers 1GB > table wt .. 100columns, 2M rows, cca 823MB > set max_parallel_workers to 0; > > query: > > select sum(c99) from wt; > > default (jit active) ... 1853ms > set jit_tuple_deforming to off .. 1397ms > set jit off .. 1400ms > > == enforced inline == > jit_tuple_deforming on .. 1610ms > jit_tuple_deforming off .. 1420ms > > == enforced optimize == > jit_tuple_deforming on .. 842ms > jit_tuple_deforming off .. 1420ms > > > I played with setting and I got the best speed with > > jit_inline_above_cost ..some pretty high number > jit_optimize_above_cost 0 > jit_tuple_deforming on > > > So I am able to see effect of jit_tuple_deforming, and very well, but only > if optimization is active. When optimization is not active then > jit_tuple_deforming does slowdown. > > So maybe a usage of jit_tuple_deforming can be conditioned by > jit_optimization?
No, it's definitely useful outside of that. I don't think we should optimize for one individual query. Greetings, Andres Freund