主要观点:今日发布bzip2
版本0.6.0
,默认使用libbz2-rs-sys
的 rust 实现,该 crate 更快且更易交叉编译,libbz2-rs-sys
可构建为 C 动态库;
关键信息:
- 许多协议和库仍需支持 bzip2 以符合规范,此工作利用 zlib-rs 经验现代化
bzip2
实现; - rust 实现通常优于 C 实现,压缩时更快,解压缩也有显著提速,但 macOS 上解压缩偶尔有较低数字;
- 可消除 C 依赖带来的交叉编译问题,编译到 webassembly、Windows 或 Android 都更易;默认不导出符号,可通过特征标志启用;能在 MIRI 下运行测试;
- 审计发现一个逻辑错误并修复模糊测试器的限制,感谢 Radically Open Security 分享经验,完整报告可查;
重要细节: - 不同文件在不同压缩级别下 rust 和 C 的性能对比数据;
- 提到交叉编译时
cc
crate 处理及链接系统库的问题; - 感谢 Alex Crichton 共享维护权、Radically Open Security 审计及分享专业知识、NLnet Foundation 资助等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。