NJVERSE // BOOT
>NJVERSE OS v3.14 — BOOT SEQUENCE INITIATED
>loading kernel modules...
>mounting /sys/identity... OK
>applying user preferences...
>spawning interface threads...
>connecting BKK :: 13.7563°N, 100.5018°E
>SYSTEM READY
~/ / repos / fragmentize
Zigexperimentalv0.2.1MITsince 2025 // ★ 318 // ⑂ 22

fragmentize

deterministic file chunker

a content-defined chunker (rolling hash with gear-table) that produces deterministic, dedupe-friendly chunks from arbitrary file streams. mostly an excuse to write zig. partly an excuse to think about borg, casync, and the long-tail of dedupe storage.

01 / install
$ zig build -Doptimize=ReleaseFast
$ ./zig-out/bin/fragmentize --help
02 / usage
$ fragmentize chunk huge_disk.img --avg=64K --min=16K --max=256K
$ fragmentize stats huge_disk.frags
#   chunks: 14322  avg: 64.1K  dedupe: 38.4%
03 / features
  • rastrigin-gear rolling hash
  • tunable min/avg/max chunk sizes
  • 32 MB/s on a thinkpad x1 (no avx tricks)
  • deterministic across architectures
04 / changelog
v0.2.12026.04fix endianness bug on aarch64
v0.2.02026.02deterministic across arches
v0.1.02025.12first checkin. zig is good actually.
← back to all repos