pgsql: Rework MultiXactId cache code

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Rework MultiXactId cache code
Date: 2013-12-13 20:23:53
Message-ID: E1VrZH7-0003AV-ID@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rework MultiXactId cache code

The original performs too poorly; in some scenarios it shows way too
high while profiling. Try to make it a bit smarter to avoid excessive
cosst. In particular, make it have a maximum size, and have entries be
sorted in LRU order; once the max size is reached, evict the oldest
entry to avoid it from growing too large.

Per complaint from Andres Freund in connection with new tuple freezing
code.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d881dd6233f4eec6404f003bb08312e9e650e0e2

Modified Files
--------------
src/backend/access/transam/multixact.c | 52 ++++++++++++++++++++++++++------
1 file changed, 42 insertions(+), 10 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2013-12-13 20:28:06 pgsql: Fix typo
Previous Message Alvaro Herrera 2013-12-13 20:08:46 Re: pgsql: Fix a couple of bugs in MultiXactId freezing