マルチコアコンピュータでzgrepを高速化

マルチコアコンピュータでzgrepを高速化

16個のCPUを搭載したコンピュータで実行されていますが、ジョブをzgrep実行するにはCPUが1つだけ必要です。

スピードアップできますか? 16個のコアをすべて活用できますか?

PS IOは大丈夫です。 gzip圧縮ファイルをメモリディスクにコピーできます。

答え1

コメントに提案された@UlrichDangelの指示gzipに従って実行可能ファイルをpigzgzipgunzip$HOME/.bashrc

gzip() {
 pigz "$@"
}
export -f gzip

gunzip() {
 unpigz "$@"
}
export -f gunzip

今実行すると代わりに使用されますzgrepzcatpigz

引用する

答え2

または、/usr/local/bin/{gzip,gunzip} をそのバイナリにシンボリックリンクします (/usr/bin の前の PATH にある可能性があります)。

$ sudo ln -s /usr/bin/pigz /usr/local/bin/gzip

$ sudo ln -s /usr/bin/unpigz /usr/local/bin/gunzip

$どのgzip

/usr/local/bin/gzip

$gzip --help

使用法: pigz [オプション] [ファイル...]

関連情報