Re: A tidyup of pathkeys.c

2025-10-18 Thread David Rowley
On Tue, 14 Oct 2025 at 21:05, Richard Guo wrote: > +1. I think this is a nice tidy-up. Pushed. Thanks for the reviews. David

Re: A tidyup of pathkeys.c

2025-10-18 Thread David Rowley
Thanks for having a look. On Tue, 14 Oct 2025 at 21:15, Chao Li wrote: > I have only a trivial comment. As you pull out the shared code into > count_common_leading_pathkeys_ordered()/unordered(), it’s reasonable to make > them inline, which ensures the new code has the same performance as befor

Re: A tidyup of pathkeys.c

2025-10-17 Thread David Rowley
On Tue, 14 Oct 2025 at 21:05, Richard Guo wrote: > FWIW, I complained about the stray check in has_useful_pathkeys() in > [1] last week, but you were quicker than me in making the code change > to remove it. I missed that. I'm confident that line does nothing but waste cycles. A quick look at how

Re: A tidyup of pathkeys.c

2025-10-14 Thread Chao Li
> On Oct 14, 2025, at 19:22, David Rowley wrote: > > What makes you think making them inline would make the performance the > same as before? The previous functions were not inlined, and I've not > made any changes that should affect the compiler's ability to choose > to inline these functions

Re: A tidyup of pathkeys.c

2025-10-14 Thread Chao Li
> On Oct 14, 2025, at 14:02, David Rowley wrote: > > When working on a5a68dd6d I noticed that truncate_useless_pathkeys() > uses a bunch of different static helper functions that are mostly the > same as each other. Most of them differ only in which field of > PlannerInfo they look at. > > Th

Re: A tidyup of pathkeys.c

2025-10-14 Thread Richard Guo
On Tue, Oct 14, 2025 at 3:03 PM David Rowley wrote: > Here's a list of what I've changed: > > 1. Add count_common_leading_pathkeys_ordered() function to check for > leading common pathkeys and use that for sort_pathkeys, > window_pathkeys and window_pathkeys. > 2. Add count_common_leading_pathkeys

A tidyup of pathkeys.c

2025-10-13 Thread David Rowley
When working on a5a68dd6d I noticed that truncate_useless_pathkeys() uses a bunch of different static helper functions that are mostly the same as each other. Most of them differ only in which field of PlannerInfo they look at. The attached aims to clean that up by making 2 reusable functions. I'