Bola vydaná verzia 0.8.0 knižnice a multiplatformového konzolového nástroja. ZXC (github.com), implementácia vysokovýkonného viacvláknového asymetrická kompresia Bezstratové a optimalizované pre herné dáta, firmvér a aplikačné balíky.
Údajne je o 40%+ rýchlejší ako LZ4 na ARM64 s lepšími kompresnými pomermi.
Projekt je napísaný v jazyku C a je distribuovaný pod licenciou BSD 3.
Zoznam zmien:
- Verzia formátu je teraz 5, čo narúša kompatibilitu:
- Implementovaný posun LZ(+1) na úrovni formátu na elimináciu potenciálnych vektorov útoku s nulovým posunom.
- Kontrolné súčty hlavičiek teraz používajú algoritmus Marsaglia xorshift.
- Nová stratégia hašovania LZ77 a optimalizácia konfigurácie hašovacej tabuľky poskytujú významné zlepšenie výkonu na rôznych architektúrach, najmä pri vysokých úrovniach kompresie.
- Významné vylepšenia úrovní kompresie 3-5, ktoré ukazujú zvýšenie rýchlosti kompresie o 33-43 % na architektúrach x86_64 aj ARM64.
- Výrazné vylepšenia pre rýchlejšie úrovne kompresie (1 a 2) so zvýšením rýchlosti o 10 – 18 % na x86_64 a ~8 – 10 % na ARM64.
- Ošetrenie chýb a kódy boli prepracované. Wrapper Pythonu teraz poskytuje prístup k týmto chybovým konštantám jazyka C, aby poskytoval vylepšené a natívne hlásenie chýb.
- Veľkosť ZXC_BLOCK_SIZE už nie je obmedzená na 1 MB. Formát súboru ZXC teraz oficiálne podporuje veľkosti blokov až do 8 MB.
- Do konzolového nástroja bol pridaný režim spracovania viacerých súborov: parameter -m (alebo --multiple) umožňuje spracovať viacero vstupných súborov jedným príkazom. Každý súbor sa spracováva nezávisle a názvy výstupných súborov sa automaticky odvodzujú zo vstupných súborov (napríklad súbor file.txt sa komprimuje do súboru file.txt.xc a súbor file.txt.xc sa dekomprimuje do súboru file.txt).
- Konzolový nástroj má tiež rekurzívny režim spracovania adresárov: parameter -r (alebo --recursive) umožňuje spracovať všetky súbory v zadaných adresároch a ich podadresároch.
- Ďalšie vylepšenia (dokumentácia, testovanie) a opravy chýb.
- Vo verzii 0.8.1 bolo opravené iba generovanie dynamickej knižnice libzxc.so.1, aby sa zachovala možnosť používať predchádzajúce verzie knižnice.
Zdroj: linux.org.ru
