pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Rowley <drowley@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Always inline SeqNext and SeqRecheck
Date: Mon, 26 Jan 2026 01:29:53 +0000
Message-ID: <E1vkBQP-002eNj-0D@gemulon.postgresql.org> (raw)

Always inline SeqNext and SeqRecheck

The intention of the work done in fb9f95502 was that these functions are
inlined.  I noticed my compiler isn't doing this on -O2 (gcc version
15.2.0).  Also, clang version 20.1.8 isn't inlining either.  Fix by
marking both of these functions as pg_attribute_always_inline to avoid
leaving this up to the compiler's heuristics.

A quick test with a Seq Scan on a table with a single int column running
a query that filters all 1 million rows in the WHERE clause yields a
3.9% speedup on my Zen4 machine.

Author: David Rowley <dgrowleyml@gmail.com>
Discussion: https://postgr.es/m/CAApHDvrL7Q41B=gv+3wc8+AJGKZugGegUbBo8FPQ+3+NGTPb+w@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/83a53572a6fc9f83276d24d8c2747b3d5ce49440

Modified Files
--------------
src/backend/executor/nodeSeqscan.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)



Message-ID: <E1vkBQP-002eNj-0D@gemulon.postgresql.org>
Permalink:  ../E1vkBQP-002eNj-0D@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1vkBQP-002eNj-0D@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: drowley@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Always inline SeqNext and SeqRecheck
  In-Reply-To: <E1vkBQP-002eNj-0D@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox