Re: inefficient loop in StandbyReleaseLockList() - Mailing list pgsql-hackers

From Bossart, Nathan
Subject Re: inefficient loop in StandbyReleaseLockList()
Date
Msg-id B4C04240-1AAC-4200-9636-BCC7984688D8@amazon.com
Whole thread Raw
In response to Re: inefficient loop in StandbyReleaseLockList()  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: inefficient loop in StandbyReleaseLockList()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 10/28/21, 3:25 PM, "Tom Lane" <tgl@sss.pgh.pa.us> wrote:
> Andres Freund <andres@anarazel.de> writes:
>> Which leads to to wonder whether the better fix would be to switch to deleting
>> the last element, but still use the while (!empty) style. That should convert
>> the O(n^2) due to 1cff1b9 back to O(n). It might or might not be faster/slower
>> than using foreach(), but it should be within the same ballpark.
>
> Does it matter what order we're releasing the locks in?

I'm not seeing anything that indicates the ordering matters.  AFAICT
either approach would work in this case.  IMO changing the order is
scarier than switching to foreach(), though.

Nathan


pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: add more support for PG_DIAG_COLUMN_NAME
Next
From: Tom Lane
Date:
Subject: Re: inefficient loop in StandbyReleaseLockList()