Phiên bản 0.8.0 của thư viện và tiện ích điều khiển đa nền tảng đã được phát hành. ZXC (github.com), triển khai đa luồng hiệu năng cao nén không đối xứng Không mất dữ liệu và được tối ưu hóa cho các tài nguyên trò chơi, phần mềm nhúng và các gói ứng dụng.
Được cho là nhanh hơn LZ4 trên ARM64 tới hơn 40%, với tỷ lệ nén tốt hơn.
Dự án được viết bằng ngôn ngữ C và được phân phối theo giấy phép BSD 3.
Danh sách các thay đổi:
- Phiên bản định dạng hiện tại là 5, điều này gây mất tính tương thích:
- Đã triển khai độ lệch LZ(+1) ở cấp độ định dạng để loại bỏ các vectơ tấn công lệch bằng không tiềm ẩn.
- Hiện tại, thuật toán kiểm tra tổng tiêu đề sử dụng thuật toán Marsaglia xorshift.
- Chiến lược băm LZ77 mới và các tối ưu hóa cấu hình bảng băm mang lại những cải tiến hiệu suất đáng kể trên nhiều kiến trúc khác nhau, đặc biệt là ở mức độ nén cao.
- Những cải tiến đáng kể đã được thực hiện đối với các mức nén 3-5, cho thấy tốc độ nén tăng 33-43% trên cả hai kiến trúc x86_64 và ARM64.
- Có những cải tiến đáng kể đối với các mức nén nhanh hơn (1 và 2), với tốc độ tăng 10-18% trên x86_64 và ~8-10% trên ARM64.
- Việc xử lý lỗi và mã lệnh đã được sửa đổi. Trình bao bọc Python hiện cung cấp quyền truy cập vào các hằng số lỗi C này để cung cấp khả năng báo cáo lỗi được cải thiện và tự nhiên hơn.
- Kích thước ZXC_BLOCK_SIZE không còn bị giới hạn ở mức 1 MB nữa. Định dạng tệp ZXC hiện hỗ trợ chính thức kích thước khối lên đến 8 MB.
- Chế độ xử lý nhiều tệp đã được thêm vào tiện ích dòng lệnh: tùy chọn -m (hoặc --multiple) cho phép bạn xử lý nhiều tệp đầu vào bằng một lệnh duy nhất. Mỗi tệp được xử lý độc lập và tên tệp đầu ra được tự động tạo ra từ các tệp đầu vào (ví dụ: file.txt được nén thành file.txt.xc và file.txt.xc được giải nén thành file.txt).
- Tiện ích dòng lệnh cũng có chế độ xử lý thư mục đệ quy: tùy chọn -r (hoặc --recursive) cho phép bạn xử lý tất cả các tệp trong các thư mục được chỉ định và các thư mục con của chúng.
- Các cải tiến khác (về tài liệu, kiểm thử) và sửa lỗi.
- Trong phiên bản 0.8.1, chỉ có việc tạo thư viện động libzxc.so.1 được sửa lỗi để duy trì khả năng sử dụng các phiên bản trước đó của thư viện.
Nguồn: linux.org.ru
