From 65a6439638a18e4317e144a0117db7604a2f2940 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Tue, 10 Mar 2026 17:39:30 +0800 Subject: research: dynamic packfiles --- research/dynamic_packfiles.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 research/dynamic_packfiles.txt (limited to 'research') diff --git a/research/dynamic_packfiles.txt b/research/dynamic_packfiles.txt new file mode 100644 index 00000000..e948f8c5 --- /dev/null +++ b/research/dynamic_packfiles.txt @@ -0,0 +1,16 @@ +dynamic packfiles to append objects + +gc/refcount process punches page-sized holes in them for pages fully +within the space of unwanted objects, after setting a tombstone mark + +holes are recorded in an index and re-used + +then, if desired, the repack process removes all the punched holes +and anything surrounding from unwanted objects that are slightly out +of the page boundary + +.idx is not a bsearch because that would cause me to need to rewrite +the entire pack every time i add objects; instead use an extendible +hash table. + +genreational bloom filters -- cgit v1.3.1-10-gc9f91