Re: subtransaction performance regression [kind of] due to snapshot caching

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: subtransaction performance regression [kind of] due to snapshot caching
Date: 2021-04-06 04:47:13
Message-ID: 947172.1617684433@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)de> writes:
> The time in 14 is spent mostly below:
> - 94.58% 0.01% postgres postgres [.] CreateFunction
> - 94.57% CreateFunction
> - 94.49% ProcedureCreate
> - 90.95% record_object_address_dependencies
> - 90.93% recordMultipleDependencies
> - 89.65% isObjectPinned
> - 89.12% systable_getnext
> - 89.06% index_getnext_slot
> - 56.13% index_fetch_heap
> - 54.82% table_index_fetch_tuple
> + 53.79% heapam_index_fetch_tuple
> 0.07% heap_hot_search_buffer
> 0.01% ReleaseAndReadBuffer
> 0.01% LockBuffer
> 0.08% heapam_index_fetch_tuple

Not wanting to distract from your point about xactCompletionCount,
but ... I wonder if we could get away with defining "isObjectPinned"
as "is the OID <= 9999" (and, in consequence, dropping explicit pin
entries from pg_depend). I had not previously seen a case where the
cost of looking into pg_depend for this info was this much of the
total query runtime.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2021-04-06 04:56:39 Re: Table refer leak in logical replication
Previous Message Fujii Masao 2021-04-06 04:46:59 Re: Get memory contexts of an arbitrary backend process