Skip to content

Commit 40ed4a0

Browse files
committed
Added a comparison table to the readme
1 parent c3702b1 commit 40ed4a0

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

readme.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,33 @@ BBF is designed as a Footer-indexed binary format. This allows for rapid append-
2020
7. **Metadata Table**: Key-Value pairs for archival data (Author, Scanlation team, etc.).
2121
8. **Footer (76 bytes)**: Table offsets and a final integrity hash.
2222

23+
### Feature Comparison: Digital Comic & Archival Formats
24+
25+
| Feature | **BBF** | CBZ (Zip) | CBR (Rar) | PDF | EPUB | Folder |
26+
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
27+
| **Random Page Access** |||||||
28+
| **Native Data Deduplication** |||| ⚠️ [1] |||
29+
| **Per-Asset Integrity (XXH3)** |||||||
30+
| **4KB Sector Alignment** |||||||
31+
| **Native Sections/Chapters** |||||||
32+
| **Arbitrary Metadata (UTF-8)** || ⚠️ [2] |||||
33+
| **Mixed-Codec Support** |||||||
34+
| **DirectStorage/mmap Ready** |||||| ⚠️ [3] |
35+
| **Low Parser Complexity** || ⚠️ [4] |||||
36+
| **Bit-Rot Detection** || ⚠️ [5] | ⚠️ [5] ||||
37+
| **Streaming-Friendly Index** | ⚠️ [6] | ⚠️ [6] ||[7] | ⚠️ ||
38+
| **Wide Software Support** |||||||
39+
40+
<font size="2">
41+
[1] - PDF supports XObjects to reuse resources, but lacks native content-hash deduplication; identical images must be manually referenced.<br/>
42+
[2] - CBZ does not support metadata natively in the ZIP spec; it relies on unofficial sidecar files like <code>ComicInfo.xml</code>.<br/>
43+
[3] - While folders allow memory mapping, individual images within them are rarely sector-aligned for optimized DirectStorage throughput.<br/>
44+
[4] - ZIP/RAR require large, complex libraries (zlib/libarchive); BBF is a "Plain Old Data" (POD) format requiring only a few lines of C++ to parse.<br/>
45+
[5] - ZIP/RAR use CRC32, which is aging, collision-prone, and significantly slower to verify than XXH3 for large archival collections.<br/>
46+
[6] - Because the index is at the end (Footer), web-based streaming requires a "Range Request" to the end of the file before reading pages.<br/>
47+
[7] - PDF supports "Linearization" (Fast Web View), allowing the header and first pages to be read before the rest of the file is downloaded.<br/>
48+
</font>
49+
2350
### 4KB Alignment & DirectStorage
2451
Every asset in a BBF file starts on a 4KB boundary. This alignment is critical for modern NVMe-based systems. It allows developers to utilize `mmap` or **DirectStorage** to transfer image data directly from disk to GPU memory, bypassing the CPU-bottlenecked "copy and decompress" cycles found in Zip-based formats.
2552

0 commit comments

Comments
 (0)