8 个版本 (4 个重大更新)
0.5.0 | 2022年3月31日 |
---|---|
0.4.0 | 2022年3月11日 |
0.3.2 | 2022年1月29日 |
0.2.0 | 2022年1月29日 |
0.1.3 | 2022年1月14日 |
#1721 在 命令行实用程序 中
635KB
3.5K SLoC
ribzip2 —— 一个可理解的 bzip2 实现
ribzip2
是一个纯 Rust 编写的命令行实用程序,提供 bzip2 的压缩和解压功能。目前它还在开发中,缺少许多原始实现的功能,包括
- 压缩率较低
- 速度较慢(至少慢2倍)
使用方法
请注意,ribzip2
是一个 WIP。如果您真的需要,可以使用以下命令安装 ribzip2
:cargo install ribzip2
。您可以使用 ribzip2 compress <FILENAME>
压缩文件,以及 ribzip2 decompress <FILENAME>
解压文件。后者将 file.bz2
输出为 file.out
。对于更多信息,请使用帮助子命令以及 compress
和 decompress
的相应帮助选项,例如 ribzip2 compress --help
。
设计目标
目标
- 配备测试的“企业级”可理解代码,解释所涉及的算法
- 纯 Rust
- 安全代码
- 最先进的算法,具有最佳渐近性能
- 高效的线程
- 符合人体工程学的 CLI
长期目标
- 符合人体工程学的库 crate
- bzip2 crate 的直接替换
- C libbzip2 的直接替换
- C bzip2/bunzip2 二进制的直接替换
发布
我们使用 cargo-workspaces
来手动发布版本。目前尚未实现自动化。
贡献!
欢迎贡献(问题、pull-requests 和评论)。在“问题”下找到您的问题。这里的代码(不包括用于压缩测试的示例)在 MIT 许可下发布。
依赖
~3MB
~53K SLoC