Izšla je različica 0.8.0 knjižnice in medplatformne konzolne aplikacije ZXC (github.com), ki implementira visokozmogljivo večnitno asimetrično stiskanje brez izgub in optimizirano za igralne vire, programske opreme in pakete aplikacij.
Deklarirano je 40 %+ hitrejše razpakiranje v primerjavi z LZ4 na ARM64, z boljšimi koeficienti stiskanja.
Projekt je napisan v jeziku C in je licenciran pod BSD 3 licenco.
Seznam sprememb:
- Različica formata je zdaj 5, 'lomljena' združljivost:
- Uvedena je bil LZ (+1) premik na ravni formata za odpravo potencialnih vektorjev napada z ničelnim premikom.
- Kontrolne vsote glave zdaj uporabljajo algoritem Marsaglia xorshift.
- Nova strategija hasheiranja LZ77 in optimizacija konfiguracije hash tabel zagotavljata znatno izboljšanje zmogljivosti na različnih arhitekturah, zlasti pri visokih stopnjah stiskanja.
- Znatna izboljšanja za stopnje stiskanja 3–5, ki predstavljajo povečanje hitrosti stiskanja za 33–43 % tako na arhitekturah x86_64 kot ARM64.
- Opazna izboljšanja za hitrejše stopnje stiskanja (1 in 2), s povečano hitrostjo za 10–18 % na x86_64 in ~8–10 % na ARM64.
- Preoblikovana obdelava in kode napak. Python ovitki zdaj omogočajo dostop do teh C kod napak za izboljšano in naravno poročanje o napakah.
- Velikost ZXC_BLOCK_SIZE ni več omejena na 1 MB. Oblika datoteke ZXC zdaj uradno podpira velikosti blokov do 8 MB.
- V konzolno aplikacijo je dodan način obdelave več datotek: možnost -m (ali —multiple) omogoča obdelavo več vhodnih datotek z enim ukazom. Vsaka datoteka se obdeluje neodvisno, imena izhodnih datotek pa se samodejno generirajo iz vhodnih (na primer, datoteka file.txt se stisne v file.txt.xc, datoteka file.txt.xc se razpakira v file.txt).
- V konzolno aplikacijo je dodan tudi način rekurzivne obdelave direktorijev: možnost -r (ali —recursive) omogoča obdelavo vseh datotek v označenih direktorijih in njihovih poddirektorijih.
- Druge izboljšave (dokumentacija, testiranje) in popravki napak.
- V različici 0.8.1 je bila popravljena le generacija dinamične knjižnice libzxc.so.1, da se ohrani možnost uporabe prejšnjih različic knjižnice.
Izvor: linux.org.ru
