bzip3(github.com)
423 points by tosh 3 days ago | 122 comments
tl;dr: Bzip3 is a modern successor to Bzip2 that combines a Burrows-Wheeler transform (via suffix arrays), LZP preprocessing, and an order-0 context mixing entropy coder to achieve significantly better compression ratios and speed. In benchmarks compressing a tar of all Perl5 releases, bzip3 outperformed xz, bzip2, and zstd on ratio (546MB vs. 2GB for xz), with decompression time competitive with zstd. It's LGPLv3-licensed and works well for text and code, though the author warns of the usual risks of relying on a newer compressor for irreplaceable data.
HN Discussion:
  • Benchmarks are cherry-picked; zstd's window size was unfairly small compared to bzip3's block size
  • ~Real-world adoption is limited by lack of software/tooling support for newer compressors
  • The naming convention piggybacks on the bzip brand inappropriately
  • Bzip3 isn't actually impressive when compared on standard benchmarks like enwik
  • Provides useful context/history via previous discussions and benchmark references