当前位置: 首页 > news >正文

【spdk】isal加速库数据压缩测试

文章目录

      • 参考
      • 1.Installing Intel ISA-L
      • 2.Using Intel ISA-L
      • 3.Examples

参考

https://www.intel.cn/content/www/cn/zh/developer/articles/guide/data-compression-tuning-guide-on-xeon-systems.html

https://github.com/intel/isa-l/blob/master/README.md

1.Installing Intel ISA-L

Some of the low-level core functions of Intel ISA-L are optimized using SIMD. Intel ISA-L also provides optimization functions for CPUs that do not support or support only a small number of SIMD instructions. It has been tuned in many details with CRC, DEFLATE, and Huffman coding optimizations for compression algorithms. It also supports multi-threading and offers great performance improvements over zlib*. The compression output of Intel ISA-L is completely compatible with the gzip* format, even if there is no change upon decompression.

The standard Linux installation from source code method is used for the compilation and installation of Intel ISA-L.

  1. Download source code from Github
  2. Compilation commands shown below. For detailed information, refer to the README file.
./autogen.sh

./configure

make

sudo make install

2.Using Intel ISA-L

Intel ISA-L provides the igzip executable program, which is used in a similar way to gzip. Intel ISA-L supports the RFC 1951 data compression algorithm and provides its own compression/decompression interfaces. It supports 4 levels (level [0,3]) of compression. The higher the level, the greater the compression ratio, with 3 being the highest.

$ igzip -h

Usage: igzip [options] [infiles]

Options:

-h, --help help, print this message

-# use compression level # with 0 <= # <= 3

-o <file> output file

-c, --stdout write to stdout

-d, --decompress decompress file

-z, --compress compress file (default)

Intel ISA-L provides a performance test program. The “make other” command can be used to generate an igzip/igzip_perf performance test program which can test Zlib’s and Intel ISA-L’s compression performance respectively. To use the igzip_perf for testing, the basic command is “igzip_perf -l 1 file”, where the “-z” parameter is used to test the zlib performance…

/igzip_perf -h

Usage: igzip_perf [options] <infile>

-h help, print this message

The options -l, -f, -z may be used up to 32 times

-l <level> isa-l stateless deflate level to test (0-3)

-f <level> isa-l stateful deflate level to test (0-3)

-z <level> zlib deflate level to test

-d <time> approx time in seconds for deflate (at least 0)

-i <time> approx time in seconds for inflate (at least 0)

-s performance test isa-l stateful inflate

-t performance test isa-l stateless inflate

-u performance test zlib inflate

…

3.Examples


 ./spdk-23.09/isa-l/igzip/igzip_perf  -l 1 ./isal_file
igzip_perf-> compress level: 1 flush_type: 0 block_size: 0
  file info-> name: ./isal_file file_size: 1073741824 compress_size: 1040465 ratio: 0.10%

    isal_stateless_deflate-> runtime =    3061146 usecs, bandwidth 30064 MB in 3.0611 sec = 9821.41 MB/s

    isal_stateless_inflate-> runtime =    3132379 usecs, bandwidth 15032 MB in 3.1324 sec = 4799.03 MB/s
    
./spdk-23.09/isa-l/igzip/igzip_perf  -z 1 ./isal_file
igzip_perf-> compress level: 1 flush_type: 0 block_size: 0
  file info-> name: ./isal_file file_size: 1073741824 compress_size: 4683744 ratio: 0.44%

    zlib_deflate->           runtime =    4435214 usecs, bandwidth 3221 MB in 4.4352 sec = 726.28 MB/s

    isal_stateless_inflate-> runtime =    3004605 usecs, bandwidth 27917 MB in 3.0046 sec = 9291.50 MB/s
    
./spdk-23.09/isa-l/igzip/igzip_perf  -z 1 -u ./isal_file
igzip_perf-> compress level: 1 flush_type: 0 block_size: 0
  file info-> name: ./isal_file file_size: 1073741824 compress_size: 4683744 ratio: 0.44%

    zlib_deflate->           runtime =    4238310 usecs, bandwidth 3221 MB in 4.2383 sec = 760.03 MB/s

    zlib_inflate->           runtime =    3013896 usecs, bandwidth 12884 MB in 3.0139 sec = 4275.16 MB/s

相关文章:

  • 【Java万花筒】解码Java网络通讯谜团:对比Apache HttpClient、OkHttp、Feign、RestTemplate、Retrofit
  • 一种解决常用存储设备无法被电脑识别的方法
  • PHP 调用 e 签宝接口签名指南
  • NAT44-ED features及节点图
  • python数字图像处理基础(九)——特征匹配
  • stm32 FOC 电机介绍
  • 【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解
  • HCIA-HarmonyOS设备开发认证-序
  • 【GitHub项目推荐--不错的 Java 开源项目】【转载】
  • Transformer and Pretrain Language Models3-1
  • 使用trace工具分析Mysql如何选择索引
  • sky_take_out
  • Java使用Netty实现端口转发Http代理Sock5代理服务器
  • 基于若依的ruoyi-nbcio流程管理系统一种简单的动态表单模拟测试实现(四)
  • GBASE南大通用数据库GBase 8s常见问题讲堂 -- 字符集的设置
  • Java实现考研专业课程管理系统 JAVA+Vue+SpringBoot+MySQL
  • 面试百问之count(1) 和 count(*) 区别是什么?
  • 机器学习-决策树【手撕】
  • Ribbon负载均衡
  • C++三剑客之std::variant(二):深入剖析
  • 今天北京白天气温超30℃,晚间为何下冰雹?
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 学者的“好运气”:读本尼迪克特·安德森《椰壳碗外的人生》
  • 中国目的地·入境游简报006|外国网红游中国启示录
  • 5年建成强化城市核心功能新引擎,上海北外滩“风景文化都是顶流”
  • 10名“鬼火少年”凌晨结队在城区飙车,警方:涉非法改装,正处理