Dalam aplikasi saya, saya perlu melakukan kompres log yang merupakan file teks.
Tampaknya bzip2
dan gzip
memiliki rasio kompresi yang sama.
Apakah itu benar?
Dalam aplikasi saya, saya perlu melakukan kompres log yang merupakan file teks.
Tampaknya bzip2
dan gzip
memiliki rasio kompresi yang sama.
Apakah itu benar?
Jawaban:
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.
-1
, ini tidak terlalu lambat, tetapi dengan pengaturan default, itu cenderung sangat lambat.
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:
cmix
bukan pemenang karena memerlukan terlalu banyak RAM, lebih dari 20GB)Detail:
Byron Knoll secara aktif berkembang cmix
sebagai 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
lrzip
adalah evolusi rzip
oleh Con Kolivas .
lrzip
singkatan dari dua nama: Long Range ZIP dan Lzma RZIP .
lrzip
seringkali 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
Mungkin Anda bisa melihat tolok ukur tersebut , terutama bagian yang menguji kompresi file log .
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/
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.
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.