Phương pháp lưu trữ nào tốt hơn để nén các tệp văn bản trên Linux?


16

Trong ứng dụng của tôi, tôi cần nén các bản ghi là các tệp văn bản.

Có vẻ như bzip2gzipcó cùng tỷ lệ nén.

Đúng không?


xz (từ xz-tools hoặc 7z từ p7zip, nó rất giống lzma) là tốt nhất. bzip2 tốt hơn gzip.
osgx

Câu trả lời:


4

Thông thường, bz2 có tỷ lệ nén tốt hơn, kết hợp với các tính năng phục hồi tốt hơn.

OTOH, gz nhanh hơn.

xz được cho là thậm chí còn tốt hơn bz2, nhưng tôi không biết hành vi thời gian.


xz chậm hơn bzip2.
osgx

xz không chỉ chậm hơn mà còn chậm hơn nhiều, tệp 300 mb mất khoảng 30 giây để bzip2 nén. Tôi đã giết xz sau khi nó bị nén lâu hơn 5 phút
Tebe

@ Tôi đã phụ thuộc rất nhiều vào mức độ nén mà bạn chọn. Với -1, nó không quá chậm, nhưng với các cài đặt mặc định, nó có xu hướng khá chậm.
glglgl

7

Bản cập nhật cuối cùng của Maximumcompression.com là tháng 6 năm 2011 (câu trả lời được cập nhật vào tháng 10-2015 )
Do đó trang web này không đề cập đến máy nén văn bản vô địch
hiện tại trên toàn thế giới :

      cmix

Các cuộc thi / Điểm chuẩn:

Chi tiết:
Byron Knoll đang tích cực phát triển cmixdưới dạng phần mềm libre (GPL) kể từ năm 2013 dựa trên cuốn sách Nén dữ liệu được giải thích bởi Matt Mahoney . Matt Mahoney cũng duy trì một số điểm chuẩn ở trên và đề xuất ZPAQ ( WP ), một trình lưu trữ gia tăng dòng lệnh.


Nếu bạn thích một công cụ tiêu chuẩn hơn (yêu cầu ít RAM hơn), tôi khuyên bạn nên:

      lrzip

lrziplà một quá trình tiến hóa của rzipcủa Côn Kolivas .
lrzipviết tắt của hai tên: Long Range ZIPLzma RZIP .
lrzipthường tốt hơn xz(một công cụ nén phổ biến khác).
Alexander Riccio cũng khuyến nghị lrzip.


Sở thích của tôi là:

      zpaq

Các "chuyên gia Archiver" , Matt Mahoney , đã khẩn trương xây trên PAQ thuật toán cho mười năm và cung cấp sự thỏa hiệp tốt nhất giữa CPU / tài nguyên bộ nhớ và mức độ nén.

Tuy nhiên, phiên bản cuối cùngzpaq thường không được đóng gói / có sẵn trên bản phân phối gần đây :-(
Tôi luôn biên dịch nó từ các nguồn khi tôi có máy mới và tôi cần một máy nén rất tốt: https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq


1

tôi đã thực hiện một điểm chuẩn để thử nghiệm để nén những điều sau đây:
thư mục 204MB (với các file 1.600 html)
kết quả

7zip =>     2.38 MB
winrar =>   49.5 MB
zip =>      50.8 MB
gzip =>     51.9 MB

vì vậy 7zip là tốt nhất trong số đó bạn có thể lấy nó từ đây
http://www.7-zip.org/


0

bz2 có nén chặt hơn, thuật toán có nhiều tùy chọn hơn để tìm kiếm sự dư thừa để nén đi.

gzip có nhiều công cụ hơn và đa nền tảng hơn. Nhiều công cụ Windows có thể xử lý các tệp .gz. Đó là một phần của http, vì vậy ngay cả các trình duyệt web cũng có thể hiểu được.

Trên linux, có các công cụ cho phép bạn làm việc trực tiếp trên các tệp nén. zgrep và bzgrep có thể tìm kiếm trong các tệp nén.

Nếu chỉ trên Linux, tôi sẽ sử dụng bzip2, để có tỷ lệ nén tốt hơn một chút.


0

xz nén tốt hơn nhiều so với bz2, nhưng mất nhiều thời gian hơn. Vì vậy, nếu nén tối đa là mục tiêu của bạn và dung lượng trên ổ cứng của bạn ở mức cao (đó là trường hợp của tôi với một ổ đĩa đầy 98% - trong khi tôi sắp xếp lại các hệ thống tệp của mình) và bạn có thể tắt tập lệnh để thực hiện công việc - nghỉ ngơi và quay lại sau 5 phút.

unxz rất nhanh để giải nén theo kinh nghiệm của tôi - đó là một điều tốt cho tôi hàng ngày.

bz2 nén nhanh hơn xz, nhưng dường như không đạt được kết quả nén của xz.

Cách duy nhất để thực hiện các đánh giá này là chạy điểm chuẩn đối với hỗn hợp các tệp phổ biến mà bạn thường nén / giải nén và thay đổi các tham số để xem cái nào xuất hiện trên đầu trang.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.