ZXC 0.8.0 i 0.8.1

ZXC 0.8.0 i 0.8.1 ZXC 0.8.0 i 0.8.1

Wydanie biblioteki i wieloplatformowego narzędzia konsolowego w wersji 0.8.0 ZXC (github.com), realizujących wysokowydajne przetwarzanie wielowątkowe asymetryczne kompresowanie bez strat i zoptymalizowane do obsługi zasobów gier, firmware'ów oraz pakietów aplikacji.

Ogłoszono, że rozpakowanie jest o 40% szybsze niż LZ4 na ARM64, z lepszymi współczynnikami kompresji.

Projekt napisany w języku C i dystrybuowany na licencji BSD 3.

Lista zmian:

  • Wersja formatu to teraz 5, co „łamie” kompatybilność:
    • Wprowadzono przesunięcie LZ (+1) na poziomie formatu, aby wyeliminować potencjalne wektory ataku z zerowym przesunięciem.
    • Sumy kontrolne nagłówków teraz korzystają z algorytmu Marsaglia xorshift.
  • Nowa strategia hashowania LZ77 oraz optymalizacja konfiguracji tabeli haszującej zapewniają znaczący wzrost wydajności na różnych architekturach, szczególnie przy wysokim poziomie kompresji.
  • Znaczące ulepszenia dla poziomów kompresji 3–5, z przyspieszeniem kompresji o 33–43 % zarówno na architekturach x86_64, jak i ARM64.
  • Wyraźne ulepszenia dla szybszych poziomów kompresji (1 i 2), z przyspieszeniem rzędu 10-18% na x86_64 i ~8-10% na ARM64.
  • Przeprojektowano obsługę i kody błędów. Wrapper w Pythonie teraz udostępnia te stałe błędów C, aby zapewnić lepsze i natywne raportowanie błędów.
  • Rozmiar ZXC_BLOCK_SIZE nie jest już ograniczany do 1 MB. Format pliku ZXC teraz oficjalnie obsługuje rozmiary bloków do 8 MB.
  • Dodano tryb przetwarzania wielu plików do narzędzia konsolowego: opcja -m (lub —multiple) pozwala na przetwarzanie kilku plików wejściowych jednym poleceniem. Każdy plik jest przetwarzany niezależnie, a nazwy plików wyjściowych są automatycznie generowane na podstawie plików wejściowych (na przykład plik file.txt jest kompresowany do file.txt.xc, a plik file.txt.xc jest rozpakowywany do file.txt).
  • Do narzędzia konsolowego dodano również tryb rekurencyjnego przetwarzania katalogów: opcja -r (lub —recursive) pozwala na przetwarzanie wszystkich plików w wskazanych katalogach i ich podkatalogach.
  • Inne ulepszenia (dokumentacja, testowanie) oraz poprawki błędów.
  • W wersji 0.8.1 poprawiono tylko generowanie dynamicznej biblioteki libzxc.so.1, aby zachować możliwość korzystania ze starszych wersji biblioteki.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster