« USBメモリからUbuntu 9.10をインストールするusb-creatorのメモ | メイン | ん?Snow LeopardのX11.appが自動で起動しない?メモ »

マルチスレッド対応で高速なlbzip2/pbzip2のメモ

Linuxでよく使われているbzip2は非常に高い圧縮率の圧縮プログラムですが、その反面非常に高負荷で圧縮/解凍に時間がかかります。これをマルチスレッドで並列に行うことで特にマルチプロセッサなシステムで高速に実行しようというのがこのlbzip2です。ついでに同じような機能ですが圧縮のみで若干使い勝手が異なるpbzip2。どちらもなかなか便利そうなので忘れないようにメモ。

元ネタは

Ubuntu 9.10 Karmic Karmaではすでにパッケージに入っているようです。他のLinuxでもパッケージがあるようです。

基本的にbzip2とほぼ互換で使えるそうです。ただしまだ入力ファイルは削除しないとのこと。debianのalternativesに入る時がきたら削除機能を追加して互換性を上げるとのこと。

基本的な使い方はbzip2と同じですが、tarと組み合わせて使うには--useオプションで指定。

  • tar --use=lbzip2 -xf hoge.tar.bz2

などとするといいようです。詳しくは解説ページか本家ページで。

最近ではノートPCでもマルチコアであったりデスクトップではクアッドコアも珍しくなくなりました。これで時間のかかる圧縮・展開が高速になるならば素晴らしい。試していませんがATOM等でもHyper Threadingでも高速化すればいいですね。

同様に圧縮時に並列動作できるpbzip2もメモ。こちらはUbuntu 9.04にもパッケージがあります。違いとしては解凍時も並列化出来るかどうかのようで、計測したところpbzip2で4コアマシンでほぼ4倍高速に圧縮できました。

環境: Ubuntu 9.04, PhoenomII 2.5Ghz(Quad)
比較内容: 430MBのバイナリファイルの圧縮。圧縮先は/dev/shm

  • gzip 23.1秒
  • bzip2 126.7秒
  • pbzip2 34.4秒 (bzip2比 3.6倍)
ということでgzipと比較出来るレベルまで高速化されています。

最近ではlzma系も増えているようですが、こちらも今後枯れてきたら標準的に使われるかもしれないと思いつつ。

トラックバック

このエントリーのトラックバックURL:
http://blog.browncat.org/cgi-bin/mt/mt-tb-abc.cgi/855


コメントを投稿

(お書きになったコメントはすぐには表示されません。ご了承ください。)


About

2009年11月13日 01:35に投稿されたエントリーのページです。

ひとつ前の投稿は「USBメモリからUbuntu 9.10をインストールするusb-creatorのメモ」です。

次の投稿は「ん?Snow LeopardのX11.appが自動で起動しない?メモ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

           

カテゴリー

Powered by
Movable Type 3.36

Twitter


最近のエントリー

デル株式会社ads

注目エントリー