赞
踩
最近接了一个信创国产替代项目项目,测试了一把
配置如下:
CPU: Hygon C86 7285 32-core Processor
内存:三星
操作系统:银河麒麟V10SP1
内核版本:4.19.90-23.8
GCC : 7.3.0
用的性能测试代码GitHub - jsnell/zlib-bench: Benchmark script for comparing different versions of zlib
升级了zlib的最新代码。主要对比zlib、cloudflare zlib和zlib-ng.GitHub - madler/zlib: A massively spiffy yet delicately unobtrusive compression library.
commit: 0f51fb4933fc9ce18199cb2554dacea8033e7fd3
GitHub - cloudflare/zlib: Cloudflare fork of zlib with massive performance improvements
commit:92530568d2c128b4432467b76a3b54d93d6350bd
GitHub - zlib-ng/zlib-ng: zlib replacement with optimizations for "next generation" systems.
commit : 2e3e5f30a05ee7b113c755ad9a075304e02bc328
因为海光CPU源自AMD Zen系列,所以可以加上如下参数编译, 记得要用perl的cpan安装一些依赖哦(或者从yum源里找)。
GCC 要保证gcc 支持znver1, 版本要新点
‘znver1’
AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, and 64-bit instruction set extensions.)
- export CFLAGS="-march=znver1"
- export CXXFLAGS=${CFLAGS}
-
- perl bench.pl --output-format=json --output-file=results.json
压缩级别 1 3 5 6 9 (6是我临时加的,因为线上nginx用的6)
测试结果如下:
zlib-ng > cloudflare > zlib
可以看到zlib-ng 简直是秒杀级别存在,执行时间非常短, 性能很高。cloudflare zlib性能也不错。
下一步测试下将zlib-ng集成到nginx的效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。