Use a pairing heap for the priority queue in kNN-GiST searches.
Heikki Linnakangas <heikki.linnakangas@iki.fi>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/gist/gistget.c | modified | +21 −50 |
| src/backend/access/gist/gistscan.c | modified | +12 −63 |
| src/backend/lib/Makefile | modified | +1 −1 |
| src/backend/lib/pairingheap.c | added | +274 −0 |
| src/backend/lib/README | added | +24 −0 |
| src/include/access/gist_private.h | modified | +5 −20 |
| src/include/lib/pairingheap.h | added | +72 −0 |