diff options
| author | 2026-03-10 17:39:30 +0800 | |
|---|---|---|
| committer | 2026-03-10 17:39:30 +0800 | |
| commit | 65a6439638a18e4317e144a0117db7604a2f2940 (patch) | |
| tree | ad8447a455380887e29da032d16a593407d4c12f | |
| parent | TODO: Add thoughts about net<->objstore (diff) | |
| signature | No signature | |
research: dynamic packfiles
| -rw-r--r-- | research/dynamic_packfiles.txt | 16 |
1 files changed, 16 insertions, 0 deletions
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 |
