世界を動かす技術を、日本語で。

bzip3

2026年9月7日原文(github.com)

概要

  • BZip3 はBZip2の精神的後継として、より高い圧縮率とパフォーマンスを実現
  • Burrows-Wheeler変換LZ77スタイル の手法を組み合わせた高度な圧縮技術
  • テキストやコードの圧縮に特に優れる
  • マルチスレッドやパラメータ調整による柔軟な動作
  • ライセンスや依存ライブラリも明確に記載

BZip3の特徴

  • BZip2の精神的後継 として設計、より高圧縮・高速性能
  • Order-0コンテキストミキシングエントロピーコーダ による高効率圧縮
  • Suffix Arrayを活用した高速Burrows-Wheeler変換
  • RLEとLempel Ziv+Prediction(LZ77型文字列一致+PPMスタイル文脈モデル)
  • テキストやプログラムコードの圧縮に最適化
  • マルチスレッド対応による高速処理
  • 柔軟なブロックサイズ・圧縮レベル設定

インストール方法

  • ソースからインストール
    • git clone利用時:
      • ./bootstrap.sh 実行
    • すべての環境で:
      • ./configure
      • make
      • sudo make install
  • パッケージマネージャ経由
    • macOSの場合:
      • brew install bzip3 コマンドで簡単インストール

圧縮ベンチマーク(Perlソースコード例)

  • テスト内容
    • Perl5全バージョンをダウンロード・解凍し、.tarファイルへまとめて各種圧縮ツールで比較
  • 主なコマンド例
    • xz, bzip2, bzip3, zstdによる圧縮速度・圧縮率比較
    • bzip3のブロックサイズ・スレッド数によるパフォーマンス調整
  • 圧縮結果(ファイルサイズ比較)
    • LZMA (xz): 2,056,645,240バイト
    • bzip2: 3,441,163,911バイト
    • bzip3 -b 256: 1,001,957,587バイト
    • bzip3 -b 511: 546,456,978バイト
    • Zstandard: 3,076,143,660バイト
  • 解凍速度(HDD計測)
    • LZMA (xz): 4分40秒
    • bzip2: 9分22秒
    • bzip3(並列): 4分06秒
    • Zstandard: 3分51秒

長距離重複除去(lrzip)との組み合わせ

  • lrzipによる事前処理後、bzip3等で二重圧縮
  • 圧縮後サイズ比較
    • lrzip + bzip3: 60,672,608バイト
    • lrzip + lzma: 64,774,202バイト
    • lrzip + bzip2: 75,685,065バイト

注意事項・免責事項

  • 本プログラム利用によるデータ損失に一切責任を負わない
  • 圧縮ファイルは必ず元に戻せるという前提で設計
  • 複雑なアルゴリズム・特殊ケースの存在でバグゼロは保証不可
  • 重要データの圧縮はリスクを理解した上で実施
  • bzip3/libbz3は入念にテスト済み
  • ビルド環境依存性 あり(x64 Linux clang13推奨、Windowsや32bitは低速傾向)

対応アーキテクチャ

  • x86, x86_64, armv6, armv7, aarch64, ppc64le, mips, mips64, sparc, s390x で動作確認

ライセンス情報

  • bzip3全体: LGPLv3のみ(デュアルライセンスではない)
  • Burrows-Wheeler変換・LZPコード: Apache 2.0
  • build-aux関連: GPL-3+(AutoConf例外付)、FSFAP、GPLv3など
  • bz3grep: BSD-2-clause

謝辞

  • Ilya Grebnov: Burrows-Wheeler変換用libsaisライブラリ、LZP参考実装
  • Caleb Maclennan: autotoolsによるビルドシステム設定
  • Ilya Muravyov: BWT後処理コーダ(派生実装をBZip3で利用)

さらなるベンチマーク

  • powturboのベンチマーク でbzip3, bzip2, bsc等との比較結果も参照可能
  • 詳細なベンチマークは etc/BENCHMARKS.md に記載