同じタスクを実行するコマンド間のパフォーマンスの違い

同じタスクを実行するコマンド間のパフォーマンスの違い

違いは何ですか?同じように行われますか?

tar -czf files/compressed/gzip/archive.tar.gz -C files/original .

tar -c -C files/original . | gzip -1 > files/compressed/gzip/archive.tar.gz

ベストアンサー1

いくつかのテストをしましょう。

tarホロ:

time sh -c 'tar -czf test.tar.gz ~/Downloads'
tar: Removing leading `/' from member names
=====
JOB sh -c 'tar -czf test.tar.gz ~/Downloads'
74%    cpu
30.02s real
20.64s user
1.82s sys

tar次にパイプgzip

time sh -c 'tar -c ~/Downloads | gzip -1 > test.tar.gz'
tar: Removing leading `/' from member names
=====
JOB sh -c 'tar -c ~/Downloads | gzip -1 > test.tar.gz'
65%    cpu
27.23s real
16.07s user
1.88s sys

パイプラインはマルチコアシステム(私のCPUは2つ)で並列に実行されるため、tarパイプラインが高速になることがわかります。gzip

おすすめ記事