#zlib #gzip #simd

cloudflare-zlib

Cloudflare优化版zlib的安全封装

5个版本

0.2.10 2023年10月14日
0.2.9 2021年4月23日
0.2.5 2019年8月23日
0.2.2 2019年1月21日
0.2.1 2018年11月24日

#70 in 压缩

Download history 689/week @ 2024-04-14 1059/week @ 2024-04-21 695/week @ 2024-04-28 802/week @ 2024-05-05 997/week @ 2024-05-12 933/week @ 2024-05-19 359/week @ 2024-05-26 561/week @ 2024-06-02 493/week @ 2024-06-09 500/week @ 2024-06-16 628/week @ 2024-06-23 527/week @ 2024-06-30 528/week @ 2024-07-07 1096/week @ 2024-07-14 950/week @ 2024-07-21 534/week @ 2024-07-28

3,172 每月下载量
用于 6 个crate (2直接)

MIT AND Zlib OR Apache-2.0 AND Zlib

17KB
270

Cf-Zlib

这是Cloudflare的SIMD加速zlib分叉的Rust封装。

它需要带有SSE 4.2的x86-64 CPU或带有NEON & CRC的ARM64。它完全不支持32位CPU。

注意:您必须确保使用cloudflare-zlib的程序不与其他版本的libz链接。否则,加速版本可能不会被使用,或者程序甚至可能崩溃。由于一个Cargo问题,这个crate不能阻止这个问题。

ARM

如果设置了arm-always特性(使用--features=arm-always构建),则ARM将无需运行时检查支持(即,如果在不支持的ARM CPU上运行,它将崩溃)。否则,在不兼容的CPU上会优雅地失败。

示例

use cloudflare_zlib::*;

let mut stream = Deflate::new(Z_BEST_COMPRESSION, Z_DEFAULT_STRATEGY, 15)?;
stream.compress(b"lorem")?;
stream.compress(b" ipsum")?;
let compressed = stream.finish()?;

许可证

Zlib

(C) 1995-2017 Jean-loup Gailly and Mark Adler

此软件按“原样”提供,不提供任何明示或暗示的保证。在任何情况下,作者都不会对由此软件使用而引起的任何损害承担责任。

任何人都可以出于任何目的使用此软件,包括商业应用,并自由修改和重新分发,但受以下限制

  1. 此软件的来源不得被误代表;您不得声称您编写了原始软件。如果您将此软件用于产品中,则产品文档中应表示感谢,但这不是必需的。
  2. 修改过的源代码版本必须清楚地标记为修改过,并且不得被误代表为原始软件。
  3. 此声明不得从任何源分布中删除或修改。

Jean-loup Gailly [email protected] Mark Adler [email protected]

如果您在产品中使用zlib库,我们将感激您发送冗长的法律文件签署。源代码免费提供,但不提供任何类型的保证。库完全由Jean-loup Gailly和Mark Adler编写;它不包含第三方代码。

如果您重新分发修改后的源代码,我们将感激您在文件ChangeLog中包含记录您更改的历史信息。有关修改源代码版本的分发更多信息,请参阅FAQ。

libz-sys

此项目采用以下任一许可证:

任选其一。

依赖项

约360–540KB
约10K SLoC