Re: SQLFunctionCache and generic plans - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: SQLFunctionCache and generic plans
Date
Msg-id CAFj8pRCTwLOa28fEJMOQOwCbNEouprsXuucZzGyddbNNwq8YPA@mail.gmail.com
Whole thread Raw
In response to Re: SQLFunctionCache and generic plans  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi

čt 27. 2. 2025 v 21:45 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> čt 27. 2. 2025 v 20:52 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
>> So taken together, our results are all over the map, anywhere
>> from 7% speedup to 7% slowdown.  My usual rule of thumb is that

> Where do you see 7% speedup? Few lines up you wrote 0.7% faster.

Alexander got that on the fx4 case, according to his response a
few messages ago [1].  It'd be good if someone else could reproduce
that, because right now we have two "it's slower" results versus
only one "it's faster".

ok

here is a profile from master 

    6.98%  postgres  postgres           [.] hash_bytes
   6.30%  postgres  postgres           [.] palloc0
   3.57%  postgres  postgres           [.] SearchCatCacheInternal
   3.29%  postgres  postgres           [.] AllocSetAlloc
   2.65%  postgres  plpgsql.so         [.] exec_stmts
   2.55%  postgres  postgres           [.] expression_tree_walker_impl
   2.34%  postgres  postgres           [.] _SPI_execute_plan
   2.13%  postgres  postgres           [.] CheckExprStillValid
   2.02%  postgres  postgres           [.] fmgr_info_cxt_security
   1.89%  postgres  postgres           [.] ExecInitFunc
   1.51%  postgres  postgres           [.] ExecInterpExpr
   1.48%  postgres  postgres           [.] ResourceOwnerForget
   1.44%  postgres  postgres           [.] AllocSetReset
   1.35%  postgres  postgres           [.] MemoryContextCreate
   1.30%  postgres  plpgsql.so         [.] plpgsql_exec_function
   1.29%  postgres  libc.so.6          [.] __memcmp_sse2
   1.24%  postgres  postgres           [.] MemoryContextDelete
   1.13%  postgres  postgres           [.] check_stack_depth
   1.11%  postgres  postgres           [.] AllocSetContextCreateInternal
   1.09%  postgres  postgres           [.] resolve_polymorphic_argtypes
   1.08%  postgres  postgres           [.] hash_search_with_hash_value
   1.07%  postgres  postgres           [.] standard_ExecutorStart
   1.07%  postgres  postgres           [.] ExprEvalPushStep
   1.04%  postgres  postgres           [.] ExecInitExprRec
   0.95%  postgres  plpgsql.so         [.] plpgsql_estate_setup
   0.91%  postgres  postgres           [.] ExecReadyInterpretedExp

and from patched

   7.08%  postgres  postgres           [.] hash_bytes
   6.25%  postgres  postgres           [.] palloc0
   3.52%  postgres  postgres           [.] SearchCatCacheInternal
   3.30%  postgres  postgres           [.] AllocSetAlloc
   2.39%  postgres  postgres           [.] expression_tree_walker_impl
   2.37%  postgres  plpgsql.so         [.] exec_stmts
   2.15%  postgres  postgres           [.] _SPI_execute_plan
   2.10%  postgres  postgres           [.] CheckExprStillValid
   1.94%  postgres  postgres           [.] fmgr_info_cxt_security
   1.71%  postgres  postgres           [.] ExecInitFunc
   1.41%  postgres  postgres           [.] AllocSetReset
   1.40%  postgres  postgres           [.] ExecInterpExpr
   1.38%  postgres  postgres           [.] ExprEvalPushStep
   1.34%  postgres  postgres           [.] ResourceOwnerForget
   1.31%  postgres  postgres           [.] MemoryContextDelete
   1.24%  postgres  libc.so.6          [.] __memcmp_sse2
   1.21%  postgres  postgres           [.] MemoryContextCreate
   1.18%  postgres  postgres           [.] AllocSetContextCreateInternal
   1.17%  postgres  postgres           [.] hash_search_with_hash_value
   1.13%  postgres  postgres           [.] resolve_polymorphic_argtypes
   1.13%  postgres  plpgsql.so         [.] plpgsql_exec_function
   1.03%  postgres  postgres           [.] standard_ExecutorStart
   0.98%  postgres  postgres           [.] ExecInitExprRec
   0.96%  postgres  postgres           [.] check_stack_depth

looks so there is only one significant differences

ExprEvalPushStep 1.07 x 1.38%

Regards

Pavel

compiled without assertions on gcc 15 with 02

vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
stepping : 7
microcode : 0x2f
cpu MHz : 2691.102
cache size : 6144 KB





                        regards, tom lane

[1] https://www.postgresql.org/message-id/e5724d1ba8398c7ff20ead1de73b4db4%40postgrespro.ru

pgsql-hackers by date:

Previous
From: Kirill Reshke
Date:
Subject: Re: Amcheck verification of GiST and GIN
Next
From: Amit Kapila
Date:
Subject: Re: long-standing data loss bug in initial sync of logical replication