ThiersLabs
<- All projects

SAT-ZIP

Fast desktop archiver with its own codec

SAT-ZIP started with one question: how fast can an archiver be if the codec is built for speed from the ground up? The answer became a complete Windows app around a codec of my own.

DownloadChecking latest release
Source code
  • C++
  • AVX2
  • Dear ImGui
  • CMake
  • Inno Setup

At a glance

2.2 GB/s
decompression speed on text, native build
1.4x
faster than LZ4 at decompressing text
5
archive formats it reads and writes
3
compression modes, from fast to max ratio

The story

  1. 01

    Why another archiver

    Zipping in Windows is slow and easy to forget about. I wanted an archiver with LZ4-class speed that people can actually use every day: right-click a folder, pick a format, done. And because speed claims are cheap, it ships with a benchmark lab so anyone can measure it on their own files.

  2. 02

    The codec

    Data is cut into independent 64 KiB blocks. A hash table finds repeated sequences, and the decoder copies matches with wide SIMD loads. In my benchmarks the decoder beats LZ4 on text (2229 vs 1552 MB/s) and on mixed data (2622 vs 2385 MB/s). Every number is checked against a decode of the same data before it is reported.

  3. 03

    Three modes

    Mode S uses a single-probe hash table and is the fastest. Mode R adds hash chains and lazy matching for a better ratio, with the same decode speed. Mode T puts a split-stream rANS entropy coder on top for the best ratio. All three share one block format.

  4. 04

    More than a codec

    Around the codec sits a full app: multithreaded .zip, plus .7z, .tar and .tar.xz, an Explorer right-click menu, a command-line tool and a C SDK. Archives can optionally be encrypted with SAT-OBELISK.

Live demo

Compress it in your browser

This is the real SAT-ZIP codec, compiled to WebAssembly (10.6 KB). Type some text or drop a file. Everything runs on your device; nothing is uploaded.

Input
Drop a file anywhere in this box

More projects