マルチコア対応bzip2(pbzip2)

Phenom II X4 945(4コア)からOpteron 3280(8コア)にしたものの、 tar jcf してもクロックが落ちてる(3000MHz→2400MHz)ぶん、遅いっすねえ。 なんとか8コア、活かしたいっすねえ。マルチコア対応の圧縮ツール、 ………、ああ、やっぱりある。

Parallel BZIP2(PBZIP2)

bzip2と比べるとざっとこんな感じ。

time tar cf - mozilla-release|bzip2 > bybzip2.tar.bz2
tar cf - mozilla-release  0.65s user 7.00s system 1% cpu 6:34.62 total
bzip2 > bybzip2.tar.bz2  380.01s user 2.91s system 96% cpu 6:34.77 total
time tar cf - mozilla-release|pbzip2 > bypbzip.tar.bz2
tar cf - mozilla-release  0.62s user 7.54s system 10% cpu 1:18.49 total
pbzip2 > bypbzip.tar.bz2  488.15s user 27.23s system 654% cpu 1:18.73 total

約5倍の速度向上。はて、これ、4コア3000MHzな945より上なのかね。 気になった。既に945マシンは電源とか外してしまったので、ここは敢えて AMD FX-4100(4コア 3600MHz FreeBSD9/amd64) と、より厳しい闘いを挑んでみる。

time tar cf - mozilla-release|pbzip2 > bypbzip2.tar.bz2
tar cf - mozilla-release  1.82s user 7.60s system 8% cpu 1:46.51 total
pbzip2 > bypbzip2.tar.bz2  349.76s user 24.23s system 350% cpu 1:46.74 total

106.74秒。これをコア数×クロックで換算すると、

106.74 * 3600*4 / (2400*8) = 80.055 ≒ 1分20秒

てことで、十分にクロックコアパフォーマンスは出しているようだ。安心。