Re: Moving _bt_readpage and _bt_checkkeys into a new .c file

Victor Yegorov <vyegorov@gmail.com>

From: Victor Yegorov <vyegorov@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-08T09:13:13Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Avoid pointer chasing in _bt_readpage inner loop.

  2. Relocate _bt_readpage and related functions.

  3. Fix bug in nbtree array primitive scan scheduling.

пн, 8 дек. 2025 г. в 01:31, Peter Geoghegan <pg@bowt.ie>:

> On Sat, Dec 6, 2025 at 9:44 PM Peter Geoghegan <pg@bowt.ie> wrote:
> > Since this ignore_killed_tuples change is also very simple, and also
> > seems like an easy win, I think that it can be committed as part of
> > the second patch. Without it needing to wait for too much more
> > performance validation.
>
> My plan is to commit the entire patch series (with a modified second
> patch that includes the ignore_killed_tuples change) in the next
> couple of days.
>
> As far as I can determine through performance validation that tested a
> variety of different scan types (simple point lookups, range scans,
> and a variety of different SAOP scan patterns), the patch series is an
> unambiguous win. It appears to be slightly faster even in
> unsympathetic cases, such as standard pgbench SELECT.
>

Even without the performance increase, I think this a valuable code
reorganization, worth committing.

I've compiled and run test (check and installcheck) with all 3 patches, did
a small standard pgbench run:
pgbench -s 100 -i
pgbench -P 60 -T 300

Results:
master: 569 TPS
patched: 590 TPS +3.7%

LGTM.

-- 
Victor Yegorov