
SAT-ZIP
Snelle archiver met een eigen codec
SAT-ZIP begon met een vraag: hoe snel kan een archiver zijn als de codec vanaf de basis op snelheid is gebouwd? Het antwoord werd een complete Windows-app rond een eigen codec.
In het kort
- 2,2 GB/s
- uitpaksnelheid op tekst, native build
- 1,4x
- sneller dan LZ4 bij het uitpakken van tekst
- 5
- archiefformaten die het leest en schrijft
- 3
- compressiemodi, van snel tot maximale ratio
Het verhaal
- 01
Waarom nog een archiver
Zippen in Windows is traag en makkelijk te vergeten. Ik wilde een archiver met de snelheid van LZ4 die je ook echt elke dag gebruikt: rechtsklikken op een map, formaat kiezen, klaar. En omdat snelheidsclaims goedkoop zijn, zit er een benchmarklab in, zodat iedereen het op eigen bestanden kan meten.
- 02
De codec
Data wordt opgeknipt in losse blokken van 64 KiB. Een hashtabel vindt herhaalde reeksen, en de decoder kopieert matches met brede SIMD-loads. In mijn benchmarks verslaat de decoder LZ4 op tekst (2229 tegen 1552 MB/s) en op gemengde data (2622 tegen 2385 MB/s). Elk getal wordt eerst gecontroleerd met een decode van dezelfde data.
- 03
Drie modi
Mode S gebruikt een hashtabel met een enkele probe en is het snelst. Mode R voegt hash chains en lazy matching toe voor een betere ratio, met dezelfde uitpaksnelheid. Mode T zet daar een split-stream rANS-entropiecoder bovenop voor de beste ratio. Alle drie delen een blokformaat.
- 04
Meer dan een codec
Rond de codec zit een complete app: multithreaded .zip, plus .7z, .tar en .tar.xz, een rechtermuismenu in Verkenner, een commandline-tool en een C-SDK. Archieven kunnen optioneel versleuteld worden met SAT-OBELISK.
Live demo
Comprimeer het in je browser
Dit is de echte SAT-ZIP-codec, gecompileerd naar WebAssembly (10,6 KB). Typ tekst of sleep een bestand hierheen. Alles draait op je eigen apparaat; er wordt niets geupload.