diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2024-04-01 12:07:30 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2024-04-01 12:07:30 +0300 |
commit | 9917e79d995c845adfe9b6cb3ea5cb7af7cec654 (patch) | |
tree | 0fb067acd93605d26aa0ce76881bd0ee25d1335c /src/common | |
parent | f5a227895e178bf528b18f82bbe554435fb3e64f (diff) | |
download | postgresql-9917e79d995c845adfe9b6cb3ea5cb7af7cec654.tar.gz postgresql-9917e79d995c845adfe9b6cb3ea5cb7af7cec654.zip |
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.
Discussion: https://www.postgresql.org/message-id/CAAKRu_abm2tHhrc0QSQa%3D%3DsHe%3DVA1%3Doz1dJMQYUOKuHmu%2B9Xrg%40mail.gmail.com
Diffstat (limited to 'src/common')
0 files changed, 0 insertions, 0 deletions