GNU/Linux >> Belajar Linux >  >> Linux

Lzma Vs Bzip2 – Kompresi Lebih Baik daripada bzip2 di UNIX / Linux

Lzma adalah singkatan dari Algoritma rantai Lempel-Ziv-Markov. Lzma adalah alat kompresi seperti bzip2 dan gzip untuk mengompres dan mendekompresi file. Ini cenderung jauh lebih cepat dan efisien daripada kompresi bzip. Seperti yang kita ketahui, rasio kompresi gzip lebih buruk daripada bzip2 (dan lzma).

Dalam artikel ini, mari kita pahami cara menggunakan lzma, utilitas kompresi efektif yang secara signifikan lebih baik dalam rasio kompresi dan operasi lebih cepat.

Kompres file teks input menggunakan lzma -c

$ lzma  -c --stdout  sample.txt  >sample.lzma

Dekompresi file lzma menggunakan opsi -d

$ lzma -d –stdout sample.lzma >sample.txt

Perbandingan antara alat kompresi bzip2 dan lzma

Untuk memahami keefektifan lzma, mari kita kompres/dekompresi sample.txt 1MB dengan lzma dan bzip2 dan bandingkan hasilnya. Pengujian ini telah dilakukan dengan mesin yang memiliki RAM 1 GB dan prosesornya adalah Pentium 4.

Ukuran file input sample.txt:

$ ls -l sample.txt
-rw-r--r-- 1 bala bala   1048576 2010-05-14 19:43 sample.txt

Catatan: Kami menggunakan perintah waktu di depan setiap perintah kompresi dan dekompresi untuk mendapatkan penggunaan CPU dari perintah tersebut.

Kompres sample.txt menggunakan bzip2

Kompres file input dengan perintah bzip2 dan tidak memerlukan opsi selama kompresi.

$ time bzip2  sample.txt

real    0m27.874s
user    0m13.981s
sys     0m0.148s

$ ls -l sample.txt.bz2
-rw-r--r-- 1 bala bala      1750 2010-05-14 19:43 sample.txt.bz2

Setelah bzip2 kompresi, ukuran file output 1750 byte .

Dekompresi sample.txt menggunakan bunzip2

Dekompresi file terkompresi dengan utilitas bunzip2 dan juga tidak memerlukan opsi apa pun untuk diteruskan.

$ bunzip2  sample.txt.bz2

real    0m0.232s
user    0m0.128s
sys     0m0.020s

Kompres sample.txt menggunakan lzma

Sekarang, mari kita kompres sample.txt menggunakan perintah lzma dengan opsi berikut:

  • -c untuk mengompres
  • –stdout untuk mencetak keluaran terkompresi di stdout
$ time lzma  -c --stdout  sample.txt >sample.lzma

real    0m2.035s
user    0m1.544s
sys     0m0.132s

$ ls -l sample.lzma
-rw-r--r-- 1 bala bala       543 2010-05-14 19:48 sample.lzma

Setelah kompresi, lzma menghasilkan file keluaran dengan ukuran 543 byte , yang relatif kurang dari perintah bzip2. Juga, seperti yang terlihat di atas, waktu CPU yang digunakan oleh lzma jauh lebih sedikit daripada bzip2.

Dekompresi sample.txt menggunakan lzma

Dekompresi file *.lzma menggunakan perintah lzma dengan opsi berikut:

  • -d untuk mengompres
  • –stdout untuk mencetak hasil dekompresi di stdout
$ time lzma -d --stdout sample.lzma >sample.txt

real    0m0.043s
user    0m0.016s
sys     0m0.004s

Seperti yang terlihat di atas, dekompresi yang dilakukan oleh lzma berkali-kali lebih cepat daripada bzip2

Tingkat Kompresi Lzma yang Berbeda

  • Lzma menyediakan rentang kompresi dari -1 hingga -9.
  • -9 adalah rasio kompresi tertinggi, yang memerlukan sejumlah waktu dan sumber daya sistem untuk melakukannya. Rasio ini tidak berlaku untuk dekompresi.
  • -1 adalah rasio kompresi level terendah dan berjalan lebih cepat.

Lakukan hal berikut untuk melakukan kompresi lzma cepat menggunakan rasio kompresi tingkat rendah:

$ lzma -1 -c --stdout  sample.txt >sample.lzma

$ ls -l sample.lzma

-rw-r--r-- 1 bala bala       548 2010-05-14 20:47 sample.lzma

Catatan: -fast adalah alias untuk -1.

-9 adalah rasio kompresi level tertinggi dan membutuhkan waktu lebih lama untuk mengompresi daripada rasio level rendah. Lakukan hal berikut untuk melakukan kompresi intensif menggunakan rasio kompresi tingkat tinggi:

$ lzma -9 -c --stdout  sample.txt >sample.lzma

$ ls -l sample.lzma
-rw-r--r-- 1 bala bala       543 2010-05-14 20:55 sample.lzma

Catatan: -best adalah alias untuk -9.


Linux
  1. Migrasi Unix ke Linux

  2. Linux – Apakah Linux Sebuah Unix?

  3. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  1. Mengapa Printf Lebih Baik Dari Echo?

  2. Linux – Direktori Standar Dan/atau Umum Pada OS Unix/linux?

  3. Mengapa VPS Linux merupakan pilihan yang lebih baik daripada VPS Windows

  1. Linux vs. Unix:Apa bedanya?

  2. Layanan OS Linux / UNIX:autofs

  3. Apakah (Ubuntu) algoritma penyalinan file Linux lebih baik daripada Windows 7?