zlib 的 CloudFlare 分支是否仅针对 amd 进行了优化?
Is CloudFlare fork of zlib optimized only for amd?
我广泛使用 zlib 来存储压缩数据。读取数据时,大部分时间花在 inflate_fast 和 crc32 zlib 调用上。我正在探索加速解压缩的替代方案,并且有两个候选方案,来自 Intel 的 ipp_zlib 和来自 CloudFlare 的 zlib fork。我想知道:
CloudFlare fork 是否仅针对 AMD 处理器进行了调整?我看到相关分支在 https://github.com/cloudflare/zlib/branches 处被标记为 'amd64'。我有 Intel CPU,所以 amd64 无法达到目的。
是否需要重写数据才能使用CloudFlare版本?如果是,那么我将不得不忽略这个库。
我尝试为我的 Linux 机器获取两个库,但没有找到简单的方法,即下载 link。如果有人在上面安装过,请分享下载和构建的说明。
事实上,Cloudflare 版本的 gzip 已针对 Intel Haswell 处理器进行了优化。它是 100% gzip 兼容的。
然而,它针对高速压缩进行了优化,并没有提高压缩率。如果只使用静态压缩的内容,并没有太大的好处。
CloudFlare 和 Kukunas 的 ZLIB 版本都没有帮助加速解压缩。他们都调整了更快的压缩,即放气。对于压缩,它们很好。 "inflate" 源代码保持不变。
不过,它们必须是专门建造的。我只能在 Linux 上使用 Intel 编译器和
为 64 位模式构建它们
$ export CFLAGS="-D__PCLMUL__ -D__SSE4_2__"
$ ./configure
$ make # (or, $ make shared)
命令。 CPU 应该有 SSE4.2+ 架构。英特尔或 AMD,随便什么。
尽管 CFLAGS='-msse4.2 -mpclmul -O3' 可能也适用于 GCC 编译器,但尚未检查。
我广泛使用 zlib 来存储压缩数据。读取数据时,大部分时间花在 inflate_fast 和 crc32 zlib 调用上。我正在探索加速解压缩的替代方案,并且有两个候选方案,来自 Intel 的 ipp_zlib 和来自 CloudFlare 的 zlib fork。我想知道:
CloudFlare fork 是否仅针对 AMD 处理器进行了调整?我看到相关分支在 https://github.com/cloudflare/zlib/branches 处被标记为 'amd64'。我有 Intel CPU,所以 amd64 无法达到目的。
是否需要重写数据才能使用CloudFlare版本?如果是,那么我将不得不忽略这个库。
我尝试为我的 Linux 机器获取两个库,但没有找到简单的方法,即下载 link。如果有人在上面安装过,请分享下载和构建的说明。
事实上,Cloudflare 版本的 gzip 已针对 Intel Haswell 处理器进行了优化。它是 100% gzip 兼容的。 然而,它针对高速压缩进行了优化,并没有提高压缩率。如果只使用静态压缩的内容,并没有太大的好处。
CloudFlare 和 Kukunas 的 ZLIB 版本都没有帮助加速解压缩。他们都调整了更快的压缩,即放气。对于压缩,它们很好。 "inflate" 源代码保持不变。
不过,它们必须是专门建造的。我只能在 Linux 上使用 Intel 编译器和
为 64 位模式构建它们$ export CFLAGS="-D__PCLMUL__ -D__SSE4_2__"
$ ./configure
$ make # (or, $ make shared)
命令。 CPU 应该有 SSE4.2+ 架构。英特尔或 AMD,随便什么。
尽管 CFLAGS='-msse4.2 -mpclmul -O3' 可能也适用于 GCC 编译器,但尚未检查。