1 unstable release
0.5.0 | Jun 13, 2024 |
---|
#362 in Compression
180KB
3K
SLoC
bzip2-rust
Rust implementation of Bzip2 library. This is late alpha / early beta stage. Use at your own risk. This may be used under either the Apache or MIT license.
Block specific decoding modes are not yet implemented.
The goal of the executable is to allow for near 100% compatibility with the existing C version of the Bzip2 executable. However the internal algorithms differ.
The largest internal differences are that this version implements
- an alternative sorting algorithm (SA-IS) optimized for highly repetitive data such as gene sequencing information. You should find signficant speed enhancements for that type of data.
- multi-threading to optimize speed on multi-core processors
The C version of Bzip2 was very memory efficient - a key factor for that era. This version tries to be careful with memory usage, but does not prioritize memory usage over speed.
The C version of Bzip2 contains a library and several stand-alone tools to work with files (including damaged, compressed files). I do not attempt to reproduce those tools.
David Snyder, June 2024.
Dependencies
~2–8.5MB
~80K SLoC