Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdf816f6

Browse files
committed
Add IntegerSet, to hold large sets of 64-bit ints efficiently.
The set is implemented as a B-tree, with a compact representation at leafitems, using Simple-8b algorithm, so that clusters of nearby values useless memory.The IntegerSet isn't used for anything yet, aside from the test code, butwe have two patches in the works that would benefit from this: A patch toallow GiST vacuum to delete empty pages, and a patch to reduce heapVACUUM's memory usage, by storing the list of dead TIDs more efficientlyand lifting the 1 GB limit on its size.This includes a unit test module, in src/test/modules/test_integerset.It can be used to verify correctness, as a regression test, but if you runit manully, it can also print memory usage and execution time of some ofthe tests.Author: Heikki Linnakangas, Andrey BorodinReviewed-by: Julien RouhaudDiscussion:https://www.postgresql.org/message-id/b5e82599-1966-5783-733c-1a947ddb729f@iki.fi
1 parent5e1963f commitdf816f6

File tree

13 files changed

+1738
-1
lines changed

13 files changed

+1738
-1
lines changed

‎src/backend/lib/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ top_builddir = ../../..
1313
include$(top_builddir)/src/Makefile.global
1414

1515
OBJS = binaryheap.o bipartite_match.o bloomfilter.o dshash.o hyperloglog.o\
16-
ilist.o knapsack.o pairingheap.o rbtree.o stringinfo.o
16+
ilist.ointegerset.oknapsack.o pairingheap.o rbtree.o stringinfo.o
1717

1818
include$(top_srcdir)/src/backend/common.mk

‎src/backend/lib/README

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ hyperloglog.c - a streaming cardinality estimator
1313

1414
ilist.c - single and double-linked lists
1515

16+
integerset.c - a data structure for holding large set of integers
17+
1618
knapsack.c - knapsack problem solver
1719

1820
pairingheap.c - a pairing heap

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp