aboutsummaryrefslogtreecommitdiff
path: root/research
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-13 08:06:38 +0800
committerGravatar Runxi Yu2026-03-13 08:07:40 +0800
commit03a539a804342327c8061c68a332402498b33033 (patch)
tree1da590914fc7eed81f3df252404b0b05e9ebb312 /research
parentpackfile: Split to many files (diff)
signatureNo signature
research: 46-octet padding for 64-byte alignment
Diffstat (limited to 'research')
-rw-r--r--research/packfile_bloom.txt5
1 files changed, 2 insertions, 3 deletions
diff --git a/research/packfile_bloom.txt b/research/packfile_bloom.txt
index 2b695ad8..a2c2bcae 100644
--- a/research/packfile_bloom.txt
+++ b/research/packfile_bloom.txt
@@ -58,7 +58,7 @@ File layout
* 4-octet object hash algorithm identifier (= 1 for SHA-1, 2 for SHA-256)
* 4-octet B (number of buckets)
* 2-octet K (number of bits set and tested per object ID)
-* 6-octet padding (must be all zeros)
+* 46-octet padding (must be all zeros)
* B buckets of 64 octets each.
Validation
@@ -71,7 +71,7 @@ Validation
* K must be nonzero
* log2(B) + 9K <= hash length in bits
* Padding must be all zero
-* File size must be 24 + 64 * B octets
+* File size must be 64 + 64 * B octets
Lookup procedure
----------------
@@ -137,5 +137,4 @@ TODOs
* How does creation/insert work? Note that packfiles and `.idx`es are immutable.
* What are the sizes?
* What are the false positive rates?
-* Is there a way to make this SIMD friendly?
* How are benchmarks?