当前 zlib-rs 性能 - Trifecta 科技基金会

  • 项目介绍zlib-rs项目是libz.so的替代品,libz.so是用于进行 gzip 压缩和解压缩的动态库,zlib-rs用 Rust 编写,旨在实现安全且高性能的实现。
  • 性能比较

    • 设置:将基准测试作为单独程序编写,方便保证程序不进行无效优化,可使用外部工具检查。zlib-rs实现依赖特定 CPU 指令,需通过.cargo/config.toml文件指定target-cpu=native标志。使用silezia-small.tar作为输入数据。
    • 基准测试过程:使用poop工具进行基准测试,它报告程序的额外统计信息,如指令计数、分支或缓存未命中次数等。poop运行一系列命令,循环运行一段时间,然后报告每个命令的平均每次迭代时间。
    • 结果:比较ngrs实现在三个压缩级别(1、6、9)下的性能。在最高压缩级别 9 时,zlib-rszlib-ng性能相近;在最低压缩级别 1 时,zlib-rs性能较差。在解压缩速度方面,zlib-rszlib-ng也有一定差距,但在可接受范围内。
  • 结论:从项目开始就注重性能,库的架构已倾向于性能,采用了zlib-ng的 SIMD 实现算法瓶颈,但仍有工作要做,zlib-ng有进一步改进,更好的数据布局可能带来更多收益,还需支持更多指令集。
  • 支持我们:需要财务支持来维护软件和开展新项目,如有兴趣可联系我们
阅读 24
0 条评论