summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@google.com>2021-10-07 20:25:05 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-10-08 17:45:48 (GMT)
commit35425d1034f2a98d438da21c68334056af7033ca (patch)
tree28aaf52578a4c41af1351a30f95a96ffe45ab02e /Makefile
parente581fd72319adcf378c97e19262dd4f46c7fbe07 (diff)
downloadgit-35425d1034f2a98d438da21c68334056af7033ca.zip
git-35425d1034f2a98d438da21c68334056af7033ca.tar.gz
git-35425d1034f2a98d438da21c68334056af7033ca.tar.bz2
reftable: a generic binary tree implementation
The reftable format includes support for an (OID => ref) map. This map can speed up visibility and reachability checks. In particular, various operations along the fetch/push path within Gerrit have ben sped up by using this structure. The map is constructed with help of a binary tree. Object IDs are hashes, so they are uniformly distributed. Hence, the tree does not attempt forced rebalancing. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 65bd39e..2e5a9f4 100644
--- a/Makefile
+++ b/Makefile
@@ -2462,11 +2462,13 @@ REFTABLE_OBJS += reftable/block.o
REFTABLE_OBJS += reftable/blocksource.o
REFTABLE_OBJS += reftable/publicbasics.o
REFTABLE_OBJS += reftable/record.o
+REFTABLE_OBJS += reftable/tree.o
+REFTABLE_TEST_OBJS += reftable/basics_test.o
REFTABLE_TEST_OBJS += reftable/block_test.o
REFTABLE_TEST_OBJS += reftable/record_test.o
REFTABLE_TEST_OBJS += reftable/test_framework.o
-REFTABLE_TEST_OBJS += reftable/basics_test.o
+REFTABLE_TEST_OBJS += reftable/tree_test.o
TEST_OBJS := $(patsubst %$X,%.o,$(TEST_PROGRAMS)) $(patsubst %,t/helper/%,$(TEST_BUILTINS_OBJS))