On Sat, Apr 22, 2023 at 12:55 AM Peter Eisentraut <
peter.eisentr...@enterprisedb.com> wrote:

> On 21.04.23 09:34, Richard Guo wrote:
> > There was discussion in [1] about improvements to list manipulation in
> > several places.  But since the discussion is not related to the topic in
> > that thread, fork a new thread here and attach a patch to show my
> > thoughts.
> >
> > Some are just cosmetic changes by using macros.  The others should have
> > performance gain from the avoidance of moving list entries.  But I doubt
> > the performance gain can be noticed or measured, as currently there are
> > only a few places affected by the change.  I still think the changes are
> > worthwhile though, because it is very likely that future usage of the
> > same scenario can benefit from these changes.
>
> Can you explain the changes?
>
> Maybe this patch should be split up.  It seems some of the changes are
> trivial simplifications using existing APIs, while others introduce new
> functions.


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.

Thanks
Richard

Attachment: v2-0002-Improve-list-manipulation-in-several-places.patch
Description: Binary data

Attachment: v2-0001-A-minor-simplification-for-List-manipulation.patch
Description: Binary data

Reply via email to