zlib 的 CloudFlare 分支是否仅针对 amd 进行了优化?

Ami*_*mit 2 c linux zlib

我广泛使用 zlib 来存储压缩数据。在读取数据时,大部分时间都花在了 inflate_fast 和 crc32 zlib 调用上。我正在探索加速解压的替代方案,有两个候选方案,来自 Intel 的 ipp_zlib 和来自 CloudFlare 的 zlib fork。我想知道:

  1. CloudFlare fork 是否仅针对 AMD 处理器进行了调整?我看到相关分支在https://github.com/cloudflare/zlib/branches上标有“amd64” 。我有 Intel CPU,所以 amd64 无法达到目的。

  2. 我是否需要重写数据才能使用CloudFlare版本?如果是,那么我将不得不忽略这个库。

我尝试为我的 Linux 机器获取这两个库,但没有看到简单的方法,即下载链接。如果有人在上面安装过,请分享下载和构建的说明。

Ser*_*tov 5

CloudFlare 和 Kukunas 版本的 ZLIB 都无法帮助加快解压速度。它们都调整为更快的压缩,即放气。对于压缩来说它们很好。“inflate”源代码保持不变。

不过,它们必须是专门建造的。我只能使用 Intel 编译器在 Linux 上构建 64 位模式的它们

$ export CFLAGS="-D__PCLMUL__ -D__SSE4_2__"
$ ./configure
$ make # (or, $ make shared)
Run Code Online (Sandbox Code Playgroud)

命令。并且CPU应该具有SSE4.2+架构。英特尔或者AMD,随便吧。

虽然 CFLAGS='-msse4.2 -mpclmul -O3' 可能也适用于 GCC 编译器,但尚未检查。