Re: Improving the heapgetpage function improves performance in common scenarios

Quan Zongliang <quanzongliang@yeah.net>

From: Quan Zongliang <quanzongliang@yeah.net>
To: John Naylor <john.naylor@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-09-06T09:56:28Z
Lists: pgsql-hackers

On 2023/9/6 17:07, John Naylor wrote:
> 
> On Wed, Sep 6, 2023 at 2:50 PM Quan Zongliang <quanzongliang@yeah.net 
> <mailto:quanzongliang@yeah.net>> wrote:
> 
>  > If not optimized(--enable-debug CFLAGS='-O0'), there is a clear
>  > difference. When the compiler does the optimization, the performance is
>  > similar. I think the compiler does a good enough optimization with
>  > "pg_attribute_always_inline" and the last two constant parameters when
>  > calling heapgetpage_collect.
> 
> So as we might expect, more specialization (Andres' patch) has no 
> apparent downsides in this workload. (While I'm not sure of the point of 
> testing at -O0, I think we can conclude that less-bright compilers will 
> show some improvement with either patch.)
> 
> If you agree, do you want to withdraw your patch from the commit fest?
> 
Ok.
> --
> John Naylor
> EDB: http://www.enterprisedb.com <http://www.enterprisedb.com>




Commits

  1. Reduce branches in heapgetpage()'s per-tuple loop

  2. Remove the "snapshot too old" feature.