Saya biasanya menggunakan WinRAR lebih dari 7-Zip hanya karena lebih cepat dan hanya sedikit kurang efisien dengan kompresi. Saya melakukan beberapa tes pada berbagai jenis file dan ukuran membandingkan pengaturan default 7-Zip dan WinRAR pada kompresi normal dan kompresi terbaik mereka, dan dalam banyak kasus WinRAR 50% lebih cepat dan dalam beberapa itu sebenarnya 100% lebih cepat. Tapi, saya lebih suka FOSS. Jadi inilah pertanyaanku:
- Apakah ada cara untuk membuat 7-Zip mempercepat? Saya ingin setidaknya setara dengan kecepatan WinRAR
- Apakah ada cara untuk membuat segmen pemulihan di 7-Zip seperti yang Anda bisa di WinRAR? Saya tidak melihat apa-apa, tapi saya kira itu bisa menjadi hal baris perintah.
- Saya menguji WinRAR dan 7-Zip menggunakan versi stabil terbaru masing-masing (4-dot-sesuatu dengan 7-Zip). Apakah rilis 9.x beta terasa lebih cepat pada kompresi?
Saya berbicara tentang lebih cepat pada pengaturan yang sebanding di WinRAR, tidak hanya menurunkan ke kompresi minimum.
Jika itu penting, saya menggunakan quad core Intel i7 720 (1,6 GHz) / (2,8 GHz) dengan 4 GB DDR3 RAM, dan versi 64-bit 7-Zip, dan dual-boot Debian x64 5.0.4 dan Windows 7 Rumah.
Jawaban:
Jika Anda mendapatkan 7-Zip 9.13 beta, Anda dapat mengubah jenis arsip ke LZMA2 dan dengan demikian dapat menggunakan sebanyak mungkin utas yang Anda inginkan, meskipun penggunaan memori meningkat secara fenomenal.
Instal beta, klik kanan barang yang ingin Anda arsipkan kemudian di bawah menu contek 7-Zip klik "Tambahkan ke arsip ..." dan Anda akan mendapatkan sesuatu yang mirip dengan jendela di bawah ini. Di sisi kiri di bawah Metode Kompresi Anda harus menemukan "LZMA2" yang akan memungkinkan Anda untuk mengubah jumlah utas yang akan menjadi pilihan sedikit lebih jauh ke bawah.
Ini memiliki potensi peningkatan kinerja yang sangat besar pada> 2 prosesor inti karena dapat disesuaikan dengan lebih baik untuk sistem Anda, dan metode kompresi normal hanya dapat menangani maksimum 2 utas.
"/ 1" yang Anda lihat di sebelah kanan jumlah kotak pemilihan utas dalam gambar adalah jumlah prosesor dalam sistem Anda dan dengan demikian jumlah utas yang disarankan. I7 saya adalah prosesor quad core tetapi memiliki hyperthreading (yang sebenarnya membantu di sini btw) sehingga ditampilkan sebagai "/ 8"
sumber
Karena setiap utas tampaknya mengkompres banyak file sekaligus, hal terbaik yang dapat Anda lakukan untuk meningkatkan kinerja pekerjaan zip yang sangat besar adalah mengatur utas menjadi 1, untuk memastikan bahwa hard drive Anda akan mencari satu file pada satu waktu.
Kami meningkatkan kinerja semua prosedur pencadangan zip harian dengan menambahkan
-mmt=off
baris perintah 7-zip. Cadangan kami dari "gudang SVN visual", yang dibuat dari banyak file kecil, membutuhkan waktu antara 50 dan 60 menit.Dengan
-mmt=off
, kami sekarang selalu melakukannya dalam waktu kurang dari lima menit! Dan, selama 50 menit ini, semua server kami sangat lambat karena mencari hard drive. Sekarang, semuanya tetap sangat cepat selama lima menit itu.Untuk semua yang Anda lakukan pada mesin, aktivitas hard drive akan selalu lebih lambat dari kapasitas CPU Anda. Anda dapat meningkatkan kinerja disk dengan menonaktifkan aktivitas paralel dan memastikan bahwa hard drive membaca (dan menulis) file Anda satu per satu secara berurutan.
Juga lebih baik membaca dari disk1 dan menulis ZIP Anda ke disk2, karena kepala fisik tidak bergerak dari baca ke menulis.
Jalur sampel untuk mendapatkan kecepatan ZIP maksimum sambil menjaga kinerja alat berat Anda:
D:
danT:
ada 2 disk fisik yang berbedasumber
-mx=1
(yang hampir tidak ada kompresi). Jika Anda tidak mengompres, sebagian besar pekerjaan dilakukan oleh HDD. Jika Anda mengatur-mx=9
prosesor benar-benar perlu bekerja untuk mengompres file. Saya perlu mencobanya, tetapi tergantung pada apa hambatannya (HDD atau CPU), mungkin lebih baik atau lebih buruk.-mmt=off
lebih cepat bahkan dengan-m0=lzma2 -mx=5
. (Tanpa-mmt=off
: real 1m27.811s, pengguna 2m4.976s, sys 0m3.729s . Dengan-mmt=off
: real 1m18.896s, pengguna 1m17.160s, sys 0m1.661s )Semua algoritma kompresi yang saya gunakan baru-baru ini (ZIP, RAR, 7z, tar / bzip2) terikat I / O, bukan terikat CPU. Menonton MenuMeters pada laptop Mac saya menunjukkan aktivitas disk yang konstan, tetapi hanya 50% atau kurang aktivitas CPU.
Jadi, cara mempercepat kompresi / dekompresi adalah mempercepat disk Anda. Ini tidak selalu mungkin.
"Solusi" saya untuk ini adalah melakukan sesuatu yang lain sementara saya mengompres sesuatu. :-)
sumber
Di perusahaan saya, kami bekerja dengan versi lama 7-zip (4,52 beta), dan kami menjalankan perintah berikut:
Ini berfungsi dengan baik, tetapi setelah hanya ditingkatkan ke versi yang lebih baru 16,04 (32-bit), kinerjanya telah menurun drastis, jadi saya memutuskan untuk menurunkan versi kembali ke versi yang lama.
sumber
Trik kecil lain untuk meningkatkan kinerja saat Anda menggunakan kode seperti contoh ini:
adalah, jika mungkin, ada dalam array $ ListDir mendaftar direktori berdasarkan ukuran, dari yang terkecil ke yang terbesar. Ini terjadi karena pada setiap siklus 7zip membuat file sementara yang sama besar (atau lebih besar) dari yang asli, kemudian menambahkan file baru di dalamnya. Saya telah mencoba dengan kasus-kasus di mana ada dua atau lebih direktori besar beberapa MB dan satu banyak GB dan penghematan waktu dalam urutan beberapa menit.
sumber
Dugaan saya adalah bahwa mempercepat 7-Zip tidak mungkin tanpa menulis ulang algoritma kompresi / de-kompresi, mungkin ada beberapa jenis tweak yang meningkatkan kecepatan tetapi mungkin hanya akan seperti peningkatan 10 atau 15%, bukan besar-besaran Peningkatan 50-100% yang Anda cari.
sumber