pgsql: Various micro-optimizations for GetSnapshopData().

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Various micro-optimizations for GetSnapshopData().
Date: 2011-12-17 02:49:59
Message-ID: E1RbkLX-0004Bx-Uv@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Various micro-optimizations for GetSnapshopData().

Heikki Linnakangas had the idea of rearranging GetSnapshotData to
avoid checking for sub-XIDs when no top-level XID is present. This
patch does that plus further a bit of further, related rearrangement.
Benchmarking show a significant improvement on unlogged tables at
higher concurrency levels, and mostly indifferent result on permanent
tables (which are presumably bottlenecked elsewhere). Most of the
benefit seems to come from using the new NormalTransactionIdPrecedes()
macro rather than the function call TransactionIdPrecedes().

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0d76b60db4684d3487223b003833828fe9655fe2

Modified Files
--------------
src/backend/storage/ipc/procarray.c | 37 ++++++++++++++++++----------------
src/include/access/transam.h | 4 +++
2 files changed, 24 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2011-12-17 04:19:31 pgsql: Add missing 'static' qualifier.
Previous Message User Fxjr 2011-12-17 02:42:27 npgsql - Npgsql2: Fixed line endings.