From: | Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Minor refactoring in heap_page_prune |
Date: | 2024-04-01 09:21:16 |
Message-ID: | E1rrDqu-006p45-Be@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Minor refactoring in heap_page_prune
Pass 'page', 'blockno' and 'maxoff' to heap_prune_chain() as
arguments, so that it doesn't need to fetch them from the buffer. This
saves a few cycles per chain.
Remove the "if (off_loc != NULL)" checks, and require the caller to
pass a non-NULL 'off_loc'. Pass a pointer to a dummy local variable
when it's not needed. Those checks are cheap, but it's still better to
avoid them in the per-chain loops when we can do so easily.
The CPU time saving from these changes are hardly measurable, but
fewer instructions is good anyway, so why not. I spotted the potential
for these while reviewing Melanie Plageman's patch set to combine
prune and freeze records.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/9917e79d995c845adfe9b6cb3ea5cb7af7cec654
Modified Files
--------------
src/backend/access/heap/pruneheap.c | 37 +++++++++++++++----------------------
1 file changed, 15 insertions(+), 22 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2024-04-01 10:31:24 | pgsql: Refactor heap_prune_chain() |
Previous Message | Masahiko Sawada | 2024-04-01 06:25:49 | pgsql: Add new COPY option LOG_VERBOSITY. |