#bzip2 #rust

程序+库 bzip2-os

A pure-Rust multi-threaded implementation of bzip2 compression

1 个不稳定版本

0.5.0 2024年6月13日

#208 in 压缩

MIT/Apache

180KB
3K SLoC

bzip2-rust

Rust 实现的 Bzip2 库。目前处于晚期 alpha/早期 beta 阶段。使用风险自负。此库可以采用 Apache 或 MIT 许可。

尚未实现块特定解码模式。

可执行文件的目标是尽可能与现有的 Bzip2 C 版本兼容。然而,内部算法有所不同。

最大的内部差异是,这个版本实现了

  1. 一种替代的排序算法(SA-IS),针对高度重复的数据(如基因测序信息)进行了优化。对于这种类型的数据,你应该会发现显著的性能提升。
  2. 多线程以优化多核处理器的速度

C 版本的 Bzip2 非常节省内存 - 这是那个时代的关键因素。这个版本试图小心地使用内存,但不会将内存使用优先于速度。

C 版本的 Bzip2 包含一个库和几个独立的工具,用于处理文件(包括损坏的、压缩的文件)。我 试图复制这些工具。

David Snyder,2024年6月。

依赖项

~2–10MB
~82K SLoC