Re: Eliminate redundant tuple visibility check in vacuum - Mailing list pgsql-hackers

From David Geier
Subject Re: Eliminate redundant tuple visibility check in vacuum
Date
Msg-id 71d50e04-ae55-8965-2804-30a9bc0d2e0a@gmail.com
Whole thread Raw
In response to Eliminate redundant tuple visibility check in vacuum  (Melanie Plageman <melanieplageman@gmail.com>)
Responses Re: Eliminate redundant tuple visibility check in vacuum
List pgsql-hackers
Hi Melanie,

On 8/29/23 01:49, Melanie Plageman wrote:
> While working on a set of patches to combine the freeze and visibility
> map WAL records into the prune record, I wrote the attached patches
> reusing the tuple visibility information collected in heap_page_prune()
> back in lazy_scan_prune().
>
> heap_page_prune() collects the HTSV_Result for every tuple on a page
> and saves it in an array used by heap_prune_chain(). If we make that
> array available to lazy_scan_prune(), it can use it when collecting
> stats for vacuum and determining whether or not to freeze tuples.
> This avoids calling HeapTupleSatisfiesVacuum() again on every tuple in
> the page.
>
> It also gets rid of the retry loop in lazy_scan_prune().

How did you test this change?

Could you measure any performance difference?

If so could you provide your test case?

-- 
David Geier
(ServiceNow)




pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Standardize spelling of "power of two"
Next
From: Etsuro Fujita
Date:
Subject: Re: Missing comments/docs about custom scan path