Skip to content

Roadmap

YadeWira edited this page Oct 25, 2026 · 13 revisions

Roadmap

Rough order; nothing here is a promise.

sylz

  • Format v3 (-ec): decodes at ~2200–2400 MB/s against v2's ~3100–3400, with the Huffman decoder at this CPU's limit (latency bound). Options: decode the literal chunks on a second thread, a higher minimum gain per chunk, or accept it as a slower high-ratio mode. Not frozen until that is settled.
  • Entropy-coding tokens and offsets too (order-0 per chunk promised ~30.5% at the top level).
  • A "heavy" variant with a larger window for the high levels.

Done: decoder profiled and tuned (format v2's token table, assembler fast loop); fast levels 0–1 (16-bit tables, closed 2026-10-18); levels 2–3 rebuilt on two hash tables (v0.2.6); levels 4–8 on lz4hc's parse with an assembler chain search (v0.2.8); levels 9–10's optimal parser on a binary-tree match finder (v0.2.9/v0.2.10); C fast paths for 32-bit Windows and arm64, and C parses over the assembler searches on x86_64 (v0.2.11); decode-aware optimal parsing at levels 9–10.

Beyond sylz

  • Codecs further along the curve: LZ + entropy coding (zstd / lz6 class), high ratio (LZMA class).
  • Encryption (v0.5.0): archives and streams with a password: Argon2id, XChaCha20-Poly1305, keyed fragment ids and cutter; both checked against the RFCs and libsodium / OpenSSL; format provisional until reviewed. Next: syc k to change the password (the two key slots are there).
  • Formats frozen at v0.4.0: the archive (format 2, with a codec byte per version) and the stream (version 4), with a reference reader and test vectors.
  • The command line and archiver, in stages (format: syc archive format):
    1. Options GNU-style, stdin/stdout, t, exit codes — done in v0.3.0.
    2. The .syc archive format — designed (append-only versions, dedup by 64 KiB content-defined fragments, BLAKE2s-256).
    3. BLAKE2s and the fragment cutter, with their tests — done in v0.3.1.
    4. syc a (one version) and l / i / t on archives — done in v0.3.1.
    5. syc x: overwrite rules (-f, --skip), -O, filters, -u (older versions) — done in v0.3.1.
    6. Appending versions and deletions; recovering from an uncommitted version — done in v0.3.2.
    7. Full metadata: symlinks, empty directories, uid/gid, Windows attributes — done in v0.3.3 (symlinks on Windows last).
    8. Progress, -v / -q, and the Usage page — done in v0.3.3.
  • Multi-threading sized for 1–4 cores.

Clone this wiki locally