-m (圧縮方法の設定) スイッチによる # ZipMultiThread - 7ZIP manual &documentation, mt
デフォルトは on
です であるため、指定する必要はまったくありません。
ただし、DEFLATE アルゴリズムの 7zip の実装はマルチスレッドをサポートしていません!
すでに発見したように、
7za a archive.zip bigfile
1 つのコアのみを使用します。
しかし .zip
ファイルは、すべてのファイルを個別に圧縮します。 いくつかを圧縮する場合
試してみてください
7za a archive.zip bigfile1 ... bigfileN
利用可能なすべての N
を使用します
シングルの圧縮を高速化したい場合 ファイルには、次の 2 つの選択肢があります:
<オール>
bigfile
を分割する チャンクで。
別の圧縮アルゴリズムを使用してください。
たとえば、7zip の BZip2 アルゴリズムの実装はマルチスレッドをサポートしています。
構文は次のとおりです:
7za a -mm=BZip2 archive.zip bigfile
また、構文エラーは、.zip
に LZM アルゴリズムを使用しようとしたために発生します。 容器。それは不可能です。
.zip
の可能なアルゴリズム コンテナは DEFLATE(64)、BZip2、圧縮なしです。
LZM アルゴリズムを使用する場合は、.7z
を使用します 容器。このコンテナは、PPMd、BZip2、DEFLATE、BCJ、BCJ2、および圧縮なしのアルゴリズムも処理します。
これは古い質問であり、特定の質問に対する回答ではなく、質問の精神に対する回答です (すべてのコアを使用して zip 形式を圧縮する)
pigz (.zip オプション付きの並列 gzip)
pigz -K -k archive.zip bigfile txt
これにより、同じ圧縮レベルで 7 倍高速な zip 互換ファイルが得られます。
単一および複数のコアを使用した zip 互換および非 zip コンプレッサーの簡単な比較。
Fedora 20 で 1.0gb txt ファイルを圧縮するための i7-2600k での壁時間
67s (120mb) 7za (zip,1 thread)
15s (141mb) 7za -mx=4 (zip,1 thread)
17s (132mb) zip (zip,1 thread)
5s (131mb) pigz -K -k (zip,8 threads)
9s (106mb) bsc (libbsc.com) (not zip,8 threads)
5s (130mb) zhuff -c2 (not zip,8 threads)
2s (149mb) zhuff (not zip,8 threads)
解凍にかかる時間
4.2s unzip -t
2.0s pigz -t
5.1s bsc d
0.5s zhuff -d