Является ли gunzip file1.gz file2.gz быстрее, чем перебирать файлы и каждый раз копировать - PullRequest
0 голосов
/ 29 августа 2018

У меня есть процесс, который просматривает список файлов, вызывающих gunzip для каждого из них. Хотите знать, будет ли быстрее просто вызвать gunzip один раз для всех файлов. Как на самом деле работает gunzip file1.gz file2.gz и существует ли более быстрый способ для разархивирования нескольких больших файлов?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Вы можете делать их все параллельно с GNU Parallel следующим образом:

parallel gunzip {} ::: *.gz

Это разархивирует их N за раз, где N - это количество процессорных ядер, которые у вас есть.

Если вы хотите индикатор выполнения:

parallel --bar gunzip {} ::: *.gz

Если вы хотите посмотреть, что он будет делать, но на самом деле ничего не делать:

parallel --dry-run ...
0 голосов
/ 29 августа 2018

Это была бы бесполезная микрооптимизация.

Время зацикливания намного меньше времени распаковки, особенно если в вашем случае вы распакуете большие файлы .

Делай то, что более читабельно. Обратите внимание, что зацикливание не вызывает проблем, когда количество файлов огромно, а одна команда gunzip может выйти за пределы командной строки и потребовать xargs (1).

...