On 2023-May-08, Peter Eisentraut wrote:
> On 23.04.23 08:42, Richard Guo wrote:
> > Thanks for the suggestion. I've split the patch into two as attached.
> > 0001 is just a minor simplification by replacing lfirst(list_head(list))
> > with linitial(list). 0002 introduces new functions to reduce the
> > movement of list elements in several places so as to gain performance
> > improvement and benefit future callers.
>
> These look sensible to me. If you could show some numbers that support the
> claim that there is a performance advantage, it would be even more
> convincing.
0001 looks fine.
The problem I see is that each of these new functions has a single
caller, and the only one that looks like it could have a performance
advantage is list_copy_move_nth_to_head() (which is the weirdest of the
lot). I'm inclined not to have any of these single-use functions unless
a performance case can be made for them.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/