Mengekstrak arsip dengan jutaan file dengan 7z sangat lambat

3

Saya memiliki arsip dengan ~ 2 juta file, masing-masing menjadi beberapa KB saat tidak dikompresi. Ekstraksi sangat lambat (1 atau 2 file per detik). Saya melihat bahwa 7z menggunakan 100% dari satu inti CPU. Apakah diharapkan 7z membutuhkan begitu banyak CPU? Apakah 7z memiliki masalah penanganan arsip yang berisi jutaan file?

Ekstraksi cepat untuk sekitar satu juta file pertama, kemudian secara drastis melambat.

Konfigurasi saya cukup tipikal dan saya percaya harus memungkinkan ekstraksi yang lebih cepat:

  • Windows 7 SP1 x64 Ultimate
  • MSI GE70 0ND-033US (Prosesor Intel® Core ™ i7-3610QM, RAM 16 GB, tanpa swap)
  • SSD M500 krusial
  • 7z versi 9.22 beta
  • arsip dibuat di Ubuntu 14.04 x64 LTS dengan zip -r pubmed01-02.zip pubmed
  • partisi adalah NTFS

masukkan deskripsi gambar di sini

Patokan 7z:

masukkan deskripsi gambar di sini

Franck Dernoncourt
sumber
Patokan menunjukkan semua 8 utas sedang digunakan, kecepatan, cocok dengan kinerja itu. Jadi itu berarti jelas ketika Anda mencoba mengekstrak file Anda menggunakan utas tunggal. Ini adalah kasus bug atau kasus argumen yang hilang. Tentu saja 1 atau 2 file per detik mengindikasikan masalah yang lebih besar, karena itu beberapa kali lebih kecil daripada seharusnya
Ramhound
Karena operasi mana pun menggunakan temp, bagaimana dengan lokasi Opsi-Folder, tempat cepat yang bagus untuk itu? Plus kemungkinan untuk menghapus centang "hanya untuk yang dapat dilepas" sehingga Anda dapat menargetkan drive perangkat keras yang berbeda untuk I / O tertentu (atau bahkan ram disk)? (Berbeda dengan partisi yang berbeda, yang akan berada di disk yang sama
Psycogeek
Anda tidak menyebutkan berapa banyak memori sistem yang Anda miliki. Maksud saya Anda memiliki arsip 11 GB, yang berarti semua data itu, pada akhirnya akan menemukannya ke dalam memori. Perbarui pertanyaan sehingga alasan itu dapat dihilangkan.
Ramhound
@Ramhound Terima kasih, saya telah memperbaiki tangkapan layar benchmark hanya 1 CPU, dan menambahkan berapa banyak memori sistem yang saya miliki (sistem tidak memiliki swap). 7z membutuhkan waktu kurang dari 20 MB saat melakukan dekompresi.
Franck Dernoncourt
Anda tidak memiliki swap yang berarti 7zip akan dipaksa untuk memuat seluruh file ke dalam memori. Saya kira itu bagian dari masalah Anda. Anda tidak dapat meningkatkan ukuran kamus menjadi sesuatu yang lebih besar, mungkin 25-50% dari memori sistem Anda?
Ramhound