Re: Improve list manipulation in several places
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Richard Guo <guofenglinux@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, David Rowley <dgrowleyml@gmail.com>, Ranier Vilela <ranier.vf@gmail.com>
Date: 2023-05-08T17:25:58Z
Lists: pgsql-hackers
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/
Commits
-
A minor simplification for List manipulation
- 6d56c501a75f 17.0 landed