18 czerwca, po ponad miesiącu prac, wydano 0.12.0 biblioteki i wieloplatformowej konsolowej aplikacji ZXC (github.com), realizujących wysokowydajne przetwarzanie wielowątkowe asymetryczne kompresowanie bez strat i zoptymalizowane dla zasobów gier, oprogramowania układowego i pakietów aplikacji. Format zaprojektowany na zasadzie 'raz zapisać, wielokrotnie czytać' (WORM).
W przeciwieństwie do kodeków takich jak LZ4, ZXC poświęca prędkość kompresji na rzecz maksymalnej przepustowości przy dekompresji.
Deklarowana prędkość dekompresji jest o 10-47% wyższa niż w przypadku LZ4 z domyślnym poziomem kompresji, z równym lub wyższym współczynnikiem kompresji.
Główna zmiana w tej wersji – możliwość kompresji z użyciem wcześniej wytrenowanego słownika opartego na reprezentatywnych próbkach, co znacznie zmniejsza rozmiar archiwów z małymi blokami lub dużą ilością małych plików.
Wersja formatu kontenera została zaktualizowana do v6, a wersja biblioteki SOVERSION zwiększona z 3 do 4.
Projekt napisany w języku C i dystrybuowany na licencji BSD 3.
Główne zmiany:
- kompresja z wcześniej wytrenowanym słownikem i wspólną tablicą Huffmana;
- zmiany w konsolowej aplikacji:
- dodano opcję —train do trenowania słownika na podstawie plików wejściowych (ścieżka do plików wyjściowych określana jest za pomocą opcji -o; domyślnie — dictionary_.zxd). Ta opcja zastąpiła poprzednią opcję —train-dict PATH;
- -D, —dict FILE — kompresuje lub dekompresuje plik, używając słownika FILE; -l, —list — wyświetla zawartość archiwum lub informacje o słowniku .zxd;
- dodano nowy alias do dekompresji unzxc — instaluje go jako link symboliczny do zxc i domyślnie działa w trybie dekompresji (ekwiwalentne poleceniu zxc -d).
- kompresja na poziomie 6 jest około 10% szybsza niż w wersji 0.11.0;
- dekompresja na poziomach 1 i 2 jest około 3% szybsza niż w wersji 0.11.0;
- inne ulepszenia i poprawki błędów.
Źródło: linux.org.ru




