Re: [PATCH v1] Batch B-tree TIDs when building a bitmap

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: Tomás Senart <ts(at)perfloop(dot)ai>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH v1] Batch B-tree TIDs when building a bitmap
Date: 2026-10-18 13:18:05
Message-ID: CAH2-Wz=eWbEJwYrv0raHfVBWqpMd3iQPHLPaRUU5uYmV_ap+Rw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Oct 9, 2026 at 9:16 PM John Naylor <johncnaylorls(at)gmail(dot)com> wrote:
> I'm interested in the ideas in this thread, but I'm thinking I'll wait
> to see how the amgetbatch effort shakes out first.

FWIW I don't think that amgetbatch changes the picture in a way that
affects this patch. This technique *should* be orthogonal.

The changes we're making to btgetbitmap are limited to making it use
AM-generic versions of the current nbtree-private BTScanPosData and
BTScanPosItem structs. Although btgetbitmap reuses batch
infrastructure internally, to enable code sharing with lower level
scan code shared with btgetbatch, it still works in a way that
requires only one batch for the scan's duration, which is palloc'd
exactly once. In short, we're making as few changes as possible to
btgetbitmap and its performance characteristics; unlike plain scans,
bitmap scans have nothing to gain from batching.

--
Peter Geoghegan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message ZizhuanLiu X-MAN 2026-10-18 13:20:28 Re: Optimize MCV stats for sortable types and utilize sorted-order properties
Previous Message Xuneng Zhou 2026-10-18 13:07:33 Re: Improve read_local_xlog_page_guts by replacing polling with latch-based waiting