pgsql: Use a pairing heap for the priority queue in kNN-GiST searches.

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Use a pairing heap for the priority queue in kNN-GiST searches.
Date: 2014-12-22 10:07:34
Message-ID: E1Y2ztm-0005Zf-7N@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use a pairing heap for the priority queue in kNN-GiST searches.

This performs slightly better, uses less memory, and needs slightly less
code in GiST, than the Red-Black tree previously used.

Reviewed by Peter Geoghegan

Branch
------
master

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

Modified Files
--------------
src/backend/access/gist/gistget.c | 71 +++-------
src/backend/access/gist/gistscan.c | 75 ++--------
src/backend/lib/Makefile | 2 +-
src/backend/lib/README | 24 ++++
src/backend/lib/pairingheap.c | 274 ++++++++++++++++++++++++++++++++++++
src/include/access/gist_private.h | 25 +---
src/include/lib/pairingheap.h | 72 ++++++++++
7 files changed, 409 insertions(+), 134 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2014-12-22 15:42:15 pgsql: Turn much of the btree_gin macros into real functions.
Previous Message Tom Lane 2014-12-21 20:31:52 pgsql: Docs: clarify treatment of variadic functions with zero variadic