ZXC 0.8.0 i 0.8.1

ZXC 0.8.0 i 0.8.1 ZXC 0.8.0 i 0.8.1

Została wydana wersja 0.8.0 biblioteki i narzędzia konsolowego działającego na wielu platformach. ZXC (github.com), wdrażanie wydajnego wielowątkowego kompresja asymetryczna Bezstratny i zoptymalizowany pod kątem zasobów gier, oprogramowania sprzętowego i pakietów aplikacji.

Twierdzi się, że jest o ponad 40% szybszy niż LZ4 na ARM64 i ma lepszy współczynnik kompresji.

Projekt został napisany w języku C i rozpowszechniany na licencji BSD 3.

Lista zmian:

  • Obecna wersja formatu to 5, co psuje kompatybilność:
    • Wprowadzono przesunięcie LZ(+1) na poziomie formatu w celu wyeliminowania potencjalnych wektorów ataku z zerowym przesunięciem.
    • Sumy kontrolne nagłówków korzystają teraz z algorytmu Marsaglia xorshift.
  • Nowa strategia haszująca LZ77 i optymalizacja konfiguracji tablicy haszującej zapewniają znaczną poprawę wydajności w różnych architekturach, szczególnie przy wysokich poziomach kompresji.
  • Znaczna poprawa w przypadku poziomów kompresji 3-5, wykazująca 33-43% wzrost szybkości kompresji zarówno na architekturach x86_64, jak i ARM64.
  • Zauważalna poprawa w przypadku szybszych poziomów kompresji (1 i 2), ze wzrostem prędkości o 10–18% w przypadku architektury x86_64 i ~8–10% w przypadku architektury ARM64.
  • Przeprojektowano obsługę błędów i kody. Wrapper Pythona zapewnia teraz dostęp do stałych błędów C, co pozwala na ulepszone i natywne raportowanie błędów.
  • Rozmiar ZXC_BLOCK_SIZE nie jest już ograniczony do 1 MB. Format pliku ZXC oficjalnie obsługuje teraz rozmiary bloków do 8 MB.
  • Do narzędzia konsoli dodano tryb przetwarzania wielu plików: opcja -m (lub --multiple) umożliwia przetwarzanie wielu plików wejściowych za pomocą jednego polecenia. Każdy plik jest przetwarzany niezależnie, a nazwy plików wyjściowych są automatycznie uzyskiwane z plików wejściowych (na przykład plik file.txt jest kompresowany do pliku file.txt.xc, a plik file.txt.xc jest dekompresowany do pliku file.txt).
  • Narzędzie konsoli ma również tryb rekurencyjnego przetwarzania katalogów: opcja -r (lub --recursive) pozwala na przetwarzanie wszystkich plików w określonych katalogach i ich podkatalogach.
  • Inne usprawnienia (dokumentacja, testowanie) i poprawki błędów.
  • W wersji 0.8.1 naprawiono jedynie generowanie biblioteki dynamicznej libzxc.so.1, aby zachować możliwość korzystania z poprzednich wersji biblioteki.

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

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster