Re: inefficient loop in StandbyReleaseLockList()

Поиск
Список
Период
Сортировка
От Bossart, Nathan
Тема Re: inefficient loop in StandbyReleaseLockList()
Дата
Msg-id 4430A74C-A80D-46DA-AC4A-C0A89D130618@amazon.com
обсуждение исходный текст
Ответ на Re: inefficient loop in StandbyReleaseLockList()  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
On 10/28/21, 12:58 AM, "Michael Paquier" <michael@paquier.xyz> wrote:
> On Thu, Oct 28, 2021 at 03:57:51PM +0900, Kyotaro Horiguchi wrote:
>> However, I'm fine with fixing only StandbyRelaseLockList(), which
>> actually suffers from list_delete_first().
>
> I can also see a large gap between one technique and the other, so
> this looks like a good catch to me coming from Nathan :)

:)

> As it could indeed hurt badly the time it takes to do a shutdown or to 
> end recovery, we had better back-patch that down to 13 in my opinion.

+1

> transformGraph and processState seem to be worth improving on
> performance ground, as well, but they look less critical than this
> one but we could do something on HEAD.  Skimming through the rest of
> the code, we may be able to improve some areas related to namespaces,
> but that does not seem worth it in terms of code complication.

I just did my own scan through uses of list_delete_first(), and I only
found a couple that might be easily transitioned to the foreach()
approach.  I don't think I'm going to pick that up at the moment, but
I'd readily help review such patches if there is a demonstrable
improvement.

Nathan


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Width of SubTransactionId (hello Postgres PRO)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [PATCH v2] src/port/snprintf.c: Optimize the common base=10 case in fmtint