BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Mehrere CPU-Kerne zur bzip2-Komprimierung nutzen

Hat man einen Rechner mit mehreren CPU-Kernen und/oder mehreren Prozessoren und möchte eine grosse Datei mit bzip2 komprimieren, so kann die Zeit, die zum Komprimieren benötigt wird, mit pbzip2 linear um die Anzahl Kerne gesenkt werden. Im FreeBSD Portbaum findet man pbzip2 unter archivers/pbzip2:

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

Im folgenden Beispiel wird zuerst eine Datei mit bzip2 komprimiert:

# du -h test 
153M    test
# /usr/bin/time -h bzip2 test
        36,94s real             36,43s user             0,30s sys
# du -h test.bz2 
 61M    test.bz2
# bunzip2  test.bz2
# du -h test 
153M    test

Danach wird die gleiche Datei mit pbzip2 komprimiert, wobei beide Prozessorkerne genutzt werden können. Die Zeit, die zum Komprimieren benötigt wird, wird so beinahe halbiert. Die komprimierte Datei kann danach mit bunzip2(1) wieder entpackt werden:

# du -h test 
153M    test
# /usr/bin/time -h pbzip2 test
        20,34s real             38,19s user             1,09s sys
# du -h test.bz2 
 61M    test.bz2
# bunzip2  test.bz2
# du -h test 
153M    test

Mehr Informationen zu pbzip2 findet man in der Manpage pbzip2(1).

 Permalink