BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Mehrere CPU-Kerne zur gzip-Komprimierung nutzen

Möchte man mehrere CPU-Kerne zum Komprimieren mit gzip verweden, so kann dazu pigz verwendet werden. Im FreeBSD-Portbaum findet man pigz unter archivers/pigz:

# cd /usr/ports/archivers/pigz && make install clean

Im folgenden Beispiel wird zuerst eine Datei mit gzip komprimiert und danach mit gunzip wieder entpackt:

# du -h test
155M    test
# /usr/bin/time -h gzip test
        17.76s real             17.47s user             0.09s sys
# du -h test.gz
 47M    test.gz
# /usr/bin/time -h gunzip test.gz
        3.16s real              1.36s user              0.20s sys
# du -h test
155M    test

Danach wird die gleiche Datei mit pigz komprimiert, wobei alle vorhanden (in diesem Beispiel zwei) CPU-Kerne verwendet werden. Danach wird die Datei mit unpigz wieder entpackt:

# du -h test
155M    test
$ /usr/bin/time -h pigz test
        9.30s real              17.80s user             0.22s sys
# du -h test.gz
 47M    test.gz
# /usr/bin/time -h unpigz test.gz
        3.14s real              1.35s user              0.30s sys
# du -h test
155M    test

Mehr Informationen zu pigz findet man in der Manpage pigz(1). Möchte man mehrere CPU-Kerne für das bzip2-Komprimieren verwenden, so kann dazu pbzip2 verwendet werden.

 Permalink