Để phân phối tài liệu lưu trữ qua Internet, những điều sau đây thường được ưu tiên:
- Tỷ lệ nén (nghĩa là máy nén tạo ra dữ liệu nhỏ như thế nào);
- Thời gian giải nén (yêu cầu CPU);
- Yêu cầu giải nén bộ nhớ; và
- Khả năng tương thích (mức độ lan rộng của chương trình giải nén)
Yêu cầu về bộ nhớ và CPU không phải là rất quan trọng, bởi vì bạn có thể sử dụng một máy lớn nhanh cho điều đó và bạn chỉ phải thực hiện một lần.
So với bzip2, xz có tỷ lệ nén tốt hơn và thời gian giải nén (tốt hơn) thấp hơn. Tuy nhiên, nó ở các cài đặt nén thường được sử dụng, đòi hỏi nhiều bộ nhớ hơn để giải nén [1] và có phần ít phổ biến hơn. Gzip sử dụng ít bộ nhớ hơn một trong hai.
Vì vậy, cả lưu trữ định dạng gzip và xz đều được đăng, cho phép bạn chọn:
- Cần giải nén trên máy có bộ nhớ rất hạn chế (<32 MB): gzip. Cho, không có nhiều khả năng khi nói về nguồn kernel.
- Cần giải nén các công cụ tối thiểu có sẵn: gzip
- Muốn tiết kiệm thời gian tải xuống và / hoặc băng thông: xz
Thực sự không có sự kết hợp thực tế của các yếu tố khiến bạn phải chọn bzip2. Vì vậy, nó đang dần bị loại bỏ.
Tôi đã xem các so sánh nén trong một bài đăng trên blog . Tôi đã không cố gắng sao chép các kết quả và tôi nghi ngờ một số kết quả đã thay đổi (chủ yếu, tôi mong đợi xz
đã được cải thiện, vì đây là kết quả mới nhất.)
(Có một số trường hợp cụ thể trong đó việc triển khai bzip2 tốt có thể thích hợp hơn với xz: bzip2 có thể nén một tệp có nhiều chuỗi số 0 và DNA bộ gen tốt hơn xz. sau điểm tham nhũng và nén song song và giải nén [về lý thuyết]. Trước đây, chỉ có bzip2 cung cấp những thứ này. [2] Tuy nhiên không có cái nào trong số này có liên quan đến phân phối kernel)
1: Trong kích thước lưu trữ, xz -3
là xung quanh bzip -9
. Sau đó xz sử dụng ít bộ nhớ hơn để giải nén. Nhưng xz -9
(như, ví dụ, được sử dụng cho tarball nhân Linux) sử dụng nhiều hơn bzip -9
. (Và thậm chí xz -0
cần nhiều hơn gzip -9
).
2: Thay đổi toàn hệ thống F21: lbzip2 làm triển khai bzip2 mặc định