---
title: KAEZlib压缩库测试
description: "用户安装zlib库（KAE1.0）或KAEZlib（KAE2.0）后，可以通过本节提供的操作步骤测试压缩库功能和性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_06_0020.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_06_0020.html
indexId: 0c41ed656e499533c4bc5da156e07c529b940d52f12023114224f7092993554f72
---
# KAEZlib压缩库测试

用户安装zlib库（KAE1.0）或KAEZlib（KAE2.0）后，可以通过本节提供的操作步骤测试压缩库功能和性能。

测试步骤需要在源码目录下操作。若KAE是通过RPM包或者DEB包方式安装，则在执行测试之前需要下载并解压KAE源码。


1. 请参见软件安装（KAE2.0）或软件安装（KAE1.0）安装KAEZlib。
2. 进入测试目录。

  - KAE1.0：
    1 cd kae_zip_engine/test/

  - KAE2.0：
    1 cd KAEZlib/test/gtest/

3. 测试KAEZlib加速库功能（该测试步骤仅适用于KAE2.0，KAE1.0功能测试与性能测试步骤相同，可不执行该步骤）。
  1 2 sh build.sh ./kaezlibtest --gtest_filter=*Case*

  回显信息中SmallCase与LargeCase两个用例的执行结果均为passed，则KAEZlib加速库功能正常。

4. 测试性能。

  a. 设置环境变量LD_LIBRARY_PATH并启用KAEZlib加速库。
    1 export LD_LIBRARY_PATH=/usr/local/kaezip/lib:$LD_LIBRARY_PATH

  b. 进入性能测试目录。

    - KAE1.0：
      1 cd kae_zip_engine/test

    - KAE2.0：
      1 cd KAEZlib/test/perftest

  c. 编译性能测试工具。
    1 make

  d. 测试压缩性能。

    - 使用zip测试压缩性能
      1 ./zip_perf -m 8 -l 10240 -n 1000

      显示结果如下。

      1 2 3 4 5 6 7 8 9 10 11 12 kaezip perf parameter: multi process 8, stream length: 10240(KB), loop times: 1000, windowBits : 15, level : 6 input_size is 10485760B compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% compress size is 10488746B = 10.003MB, compress_rate is 100.028% compress_size is 10488746B = 10.003MB, compress_rate is 100.028% kaezip compress perf result: time used: 335108108 us, speed = 0.233 GB/s

    - 使用KAEzip测试压缩性能
      1 ./kaezip_perf -m 8 -l 10240 -n 1000

      显示结果如下。 1 2 3 kaezip perf parameter: multi process 8, stream length: 10240(KB), loop times: 1000 kaezip compress perf result: time used: 10631524 us, speed = 7.348 GB/s

可以看到压缩速度从0.233GB/s提升到了7.348GB/s。
  e. 测试解压缩性能。

    - 使用zip测试解压缩性能
      1 ./zip_perf -d -m 8 -f itemdata.zlib -n 1000

      显示结果如下。

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 kaezip perf parameter: multi process 8, stream length: 1024(KB), loop times: 1000, windowBits : 15, level : 6 g_kae_device_num 2 uncompress filename : itemdata.zlib input_size is 3539153B [169064]uncompress_size is 7316868B = 6.978MB [169063]uncompress_size is 7316868B = 6.978MB [169061]uncompress_size is 7316868B = 6.978MB [169062]uncompress_size is 7316868B = 6.978MB [169060]uncompress_size is 7316868B = 6.978MB [169058]uncompress_size is 7316868B = 6.978MB [169059]uncompress_size is 7316868B = 6.978MB [169065]uncompress_size is 7316868B = 6.978MB 8 multi process kaezip decompress perf result: time used: 36786657 us, speed = 1.482 GB/s

    - 使用KAEzip测试解压缩性能
      1 ./kaezip_perf -d -m 8 -f itemdata.zlib -n 1000

      显示结果如下。

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 kaezip perf parameter: multi process 8, stream length: 1024(KB), loop times: 1000, windowBits : 15, level : 6 g_kae_device_num 2 uncompress filename : itemdata.zlib input_size is 3539153B [168826]uncompress_size is 7316868B = 6.978MB [168825]uncompress_size is 7316868B = 6.978MB [168830]uncompress_size is 7316868B = 6.978MB [168827]uncompress_size is 7316868B = 6.978MB [168823]uncompress_size is 7316868B = 6.978MB [168829]uncompress_size is 7316868B = 6.978MB [168828]uncompress_size is 7316868B = 6.978MB [168824]uncompress_size is 7316868B = 6.978MB 8 multi process kaezip decompress perf result: time used: 5785818 us, speed = 9.422 GB/s

可以看到解压缩速度从1.482GB/s提升到了9.422GB/s。
解压缩命令中的“itemdata.zlib”为已压缩的文件，可以通过在压缩命令中添加-o itemdata.zlib来指定生成。


5. 可选：若安装了KAEGzip解压缩工具，可通过下列步骤进行功能及性能验证。

  a. 获取帮助信息。
    1 /usr/local/kaegzip/gzip -h

    帮助信息回显如下所示。

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Usage: gzip [OPTION]... [FILE]... Compress or uncompress FILEs using Kunpeng Accelerator Engine (by default, compress FILES in-place). Mandatory arguments to long options are mandatory for short options too. -c, --stdout write on standard output, keep original files unchanged -d, --decompress decompress -f, --force force overwrite of output file and compress links -h, --help give this help -k, --keep keep (don't delete) input files -l, --list list compressed file contents -q, --quiet suppress all warnings -r, --recursive operate recursively on directories -S, --suffix=SUF use suffix SUF on compressed files -t, --test test compressed file integrity -v, --verbose verbose mode -V, --version display version number With no FILE, or when FILE is -, read standard input. Report bugs to <https://gitee.com/kunpengcompute/KAE>

  b. 功能测试。

    1. 使用KAEGzip压缩工具压缩itemdata文件，itemdata文件会被压缩为itemdata.gz文件，同时保留源文件itemdata。
      1 /usr/local/kaegzip/gzip -k itemdata

    2. 将源文件itemdata重命名为itemdata.orig。
      1 mv itemdata itemdata.orig

    3. 使用KAEGzip压缩工具解压缩itemdata.gz文件。
      1 /usr/local/kaegzip/gzip -d itemdata.gz

    4. 比较使用KAEGzip压缩工具解压缩后的文件和源文件itemdata.orig。
      1 diff itemdata itemdata.orig

若没有任何回显信息返回，则表示KAEGzip工具能正确地完成文件的压缩解压。
  c. 测试压缩性能。

    - 使用Gzip工具

```
time gzip itemdata
```


      回显示例如下。

```
real	0m0.348s
user	0m0.343s
sys	0m0.004s
```


    - 使用KAEGzip工具

```
time /usr/local/kaegzip/gzip itemdata
```


      回显示例如下。

```
real	0m0.016s
user	0m0.005s
sys	0m0.010s
```


可以看到相较于系统自带的Gzip工具，KAEGzip工具的压缩耗时均明显减少。
  d. 测试解压缩性能。

    - 使用Gzip工具

```
time gzip -d itemdata.gz
```


      回显示例如下。

```
real	0m0.038s
user	0m0.031s
sys	0m0.008s
```


    - 使用KAEGzip工具

```
time /usr/local/kaegzip/gzip -d itemdata.gz
```


    - 回显示例如下。

```
real	0m0.017s
user	0m0.004s
sys	0m0.012s
```


可以看到相较于系统自带的Gzip工具，KAEGzip工具的解压耗时均明显减少。
