From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Ronan Dunklau <ronan(dot)dunklau(at)aiven(dot)io> |
Subject: | Re: SQLFunctionCache and generic plans |
Date: | 2025-03-01 08:18:13 |
Message-ID: | CAFj8pRA8jDcHLi6gcpJpMTfyX9chEfoUydU1taxpAL08+=VAjw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi
pá 28. 2. 2025 v 7:29 odesílatel Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
napsal:
> Hi
>
> čt 27. 2. 2025 v 21:45 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> napsal:
>
>> Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
>> > čt 27. 2. 2025 v 20:52 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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
>
>
I tested the patches on another notebook with more recent cpu
vendor_id : GenuineIntel
cpu family : 6
model : 154
model name : 12th Gen Intel(R) Core(TM) i7-12700H
stepping : 3
microcode : 0x436
cpu MHz : 400.000
cache size : 24576 KB
And the difference are smaller - about 3%
Regards
Pavel
>
>
>
>> regards, tom lane
>>
>> [1]
>> https://www.postgresql.org/message-id/e5724d1ba8398c7ff20ead1de73b4db4%40postgrespro.ru
>>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriele Bartolini | 2025-03-01 09:15:37 | Re: RFC: Additional Directory for Extensions |
Previous Message | Lukas Fittl | 2025-03-01 07:45:58 | Re: Reduce timing overhead of EXPLAIN ANALYZE using rdtsc? |