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?
Regards
Pavel