Objavljena je verzija 0.8.0 biblioteke i uslužnog programa za više platformi. ZXC (github.com), implementacija visokoučinkovitog višenitnog asimetrična kompresija Bez gubitaka i optimizirano za igraće resurse, firmver i aplikacijske pakete.
Tvrdi se da je 40%+ brži od LZ4 na ARM64, s boljim omjerima kompresije.
Projekt je napisan u C-u i distribuira se pod BSD 3 licencom.
Popis promjena:
- Verzija formata je sada 5, što prekida kompatibilnost:
- Implementiran je LZ(+1) pomak na razini formata kako bi se eliminirali potencijalni vektori napada s nultim pomakom.
- Kontrolne sume zaglavlja sada koriste Marsaglia algoritam xorshift.
- Nova LZ77 strategija hashiranja i optimizacije konfiguracije hash tablice pružaju značajna poboljšanja performansi na raznim arhitekturama, posebno pri visokim razinama kompresije.
- Značajna poboljšanja za razine kompresije 3-5, pokazujući povećanje brzine kompresije od 33-43% na arhitekturama x86_64 i ARM64.
- Primjetna poboljšanja za brže razine kompresije (1 i 2), s povećanjem brzine od 10-18% na x86_64 i ~8-10% na ARM64.
- Obrada pogrešaka i kodovi su prerađeni. Python omotač sada omogućuje pristup ovim C konstantama pogrešaka kako bi se osiguralo poboljšano i izvorno izvještavanje o pogreškama.
- Veličina ZXC_BLOCK_SIZE više nije ograničena na 1 MB. Format datoteke ZXC sada službeno podržava veličine blokova do 8 MB.
- Uslužnom programu konzole dodan je način obrade više datoteka: opcija -m (ili --multiple) omogućuje vam obradu više ulaznih datoteka jednom naredbom. Svaka se datoteka obrađuje neovisno, a nazivi izlaznih datoteka automatski se izvode iz ulaznih datoteka (na primjer, datoteka.txt se komprimira u datoteka.txt.xc, a datoteka.txt.xc se dekomprimira u datoteka.txt).
- Uslužni program konzole također ima rekurzivni način obrade direktorija: opcija -r (ili --recursive) omogućuje vam obradu svih datoteka u navedenim direktorijima i njihovim poddirektorijima.
- Ostala poboljšanja (dokumentacija, testiranje) i ispravci grešaka.
- U verziji 0.8.1 ispravljeno je samo generiranje dinamičke biblioteke libzxc.so.1 kako bi se sačuvala mogućnost korištenja prethodnih verzija biblioteke.
Izvor: linux.org.ru
