Metode pengarsipan mana yang lebih baik untuk mengompresi file teks di Linux?


16

Dalam aplikasi saya, saya perlu melakukan kompres log yang merupakan file teks.

Tampaknya bzip2dan gzipmemiliki rasio kompresi yang sama.

Apakah itu benar?


xz (dari xz-tools atau 7z dari p7zip, sangat mirip lzma) adalah yang terbaik. bzip2 lebih baik dari gzip.
osgx

Jawaban:


4

Biasanya, bz2 memiliki rasio kompresi yang lebih baik, dikombinasikan dengan fitur pemulihan yang lebih baik.

OTOH, gz lebih cepat.

xz dikatakan lebih baik daripada bz2, tapi saya tidak tahu perilaku pengaturan waktu.


xz lebih lambat dari bzip2.
osgx

xz bukan hanya lebih lambat, tetapi jauh lebih lambat, file 300 mb membutuhkan waktu sekitar 30 detik untuk bzip2 dikompres. Saya membunuh xz setelah dikompresi lebih dari 5 menit
Tebe

@ Копать_Шо_я_нашел Saya pikir ini sangat tergantung pada tingkat kompresi yang Anda pilih. Dengan -1, ini tidak terlalu lambat, tetapi dengan pengaturan default, itu cenderung sangat lambat.
glglgl

7

Pembaruan terakhir maksimumcompression.com adalah Juni-2011 (jawaban diperbarui pada Oktober-2015)
Oleh karena itu situs web ini tidak menyebutkan kompresor teks juara
terkini di seluruh dunia :

      cmix

Kompetisi / Tolok Ukur:

Detail:
Byron Knoll secara aktif berkembang cmixsebagai perangkat lunak gratis (GPL) sejak 2013 berdasarkan buku Kompresi Data Dijelaskan oleh Matt Mahoney . Matt Mahoney juga mempertahankan beberapa tolok ukur di atas dan mengusulkan ZPAQ ( WP ), pengarsipan penambahan baris perintah.


Jika Anda lebih suka alat yang lebih standar (membutuhkan lebih sedikit RAM), saya sarankan:

      lrzip

lrzipadalah evolusi rzipoleh Con Kolivas .
lrzipsingkatan dari dua nama: Long Range ZIP dan Lzma RZIP .
lrzipseringkali lebih baik daripada xz(alat kompresi populer lainnya).
Alexander Riccio juga merekomendasikan lrzip.


Favorit saya adalah:

      zpaq

The "ahli pengarsipan" , Matt Mahoney , telah secara intensif bekerja pada PAQ algoritma selama sepuluh tahun dan memberikan kompromi terbaik antara sumber daya CPU / memori dan tingkat kompresi.

Namun, versi terakhirzpaq tidak sering dikemas / tersedia di distro terbaru :-(
Saya selalu mengkompilasinya dari sumber ketika saya memiliki mesin baru dan saya membutuhkan kompresor yang sangat baik: 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

saya telah membuat patokan untuk menguji untuk mengompresi berikut:
folder 204MB (dengan 1.600 file html)
hasil

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

sehingga 7zip adalah yang terbaik di antara mereka yang bisa Anda dapatkan dari sini
http://www.7-zip.org/


0

bz2 memiliki kompresi lebih ketat, algoritma ini memiliki lebih banyak opsi untuk mencari redundansi untuk dikompres.

gzip ada di lebih banyak alat, dan lebih banyak lintas platform. Lebih banyak alat Windows dapat menangani file .gz. Itu bagian dari http, jadi bahkan browser web pun bisa memahaminya.

Di linux, ada alat yang memungkinkan Anda bekerja pada file yang dikompresi secara langsung. zgrep dan bzgrep dapat mencari dalam file terkompresi.

Jika hanya di Linux, saya akan menggunakan bzip2, untuk rasio kompresi yang sedikit lebih baik.


0

xz kompres jauh lebih baik daripada bz2, tetapi membutuhkan lebih banyak waktu. Jadi, jika kompresi maksimum adalah tujuan Anda dan ruang pada hard drive Anda adalah premium (yang merupakan kasus saya dengan satu drive pada 98% penuh - sementara saya mengatur ulang sistem file saya), dan Anda dapat menjalankan script untuk melakukan pekerjaan - istirahat dan kembali dalam 5 menit.

unxz sangat cepat untuk dikompresi dalam pengalaman saya - yang merupakan hal yang baik bagi saya setiap hari.

bz2 lebih cepat dikompresi daripada xz, tetapi tampaknya tidak mencapai hasil kompresi xz.

Satu-satunya cara untuk membuat penilaian ini adalah menjalankan benchmark terhadap campuran file umum yang biasanya Anda kompres / dekompresi, dan memvariasikan parameter untuk melihat yang keluar di atas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.