---
title: KAEZlib压缩库测试
description: "用户安装zlib库（KAE1.0）或KAEZlib（KAE2.0）后，可以通过本节提供的操作步骤测试压缩库功能和性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/252RC1/accel/kunpengaccel_06_0020.html
sourcePath: /source/zh/kunpengboostkithistory/252RC1/accel/kunpengaccel_06_0020.html
indexId: 69e44f18c0abe61d2aa6b83318a6f5d1d4d4b63a2e77f9524ac223d4b9afa3d072
---
# 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加速库功能正常。

  1 2 3 4 5 6 7 8 9 10 11 12 [==========] Running 2 tests from 1 test suite. [----------] Global test environment set-up. [----------] 2 tests from ZlibTest [ RUN ] ZlibTest.CompressAndDecompress_SmallCase [ OK ] ZlibTest.CompressAndDecompress_SmallCase (116 ms) [ RUN ] ZlibTest.CompressAndDecompress_LargeCase [ OK ] ZlibTest.CompressAndDecompress_LargeCase (89915 ms) [----------] 2 tests from ZlibTest (90031 ms total) [----------] Global test environment tear-down [==========] 2 tests from 1 test suite ran. (90031 ms total) [ PASSED ] 2 tests.

4. 测试性能。

  a. 进入性能测试目录。

    - KAE1.0：
      1 cd kae_zip_engine/test

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

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

  c. 生成解压缩性能测试的输入文件。
    1 ./zip_perf -f ../../../scripts/compressTestDataset/itemdata -o itemdata.zlib -m 1 -n 1

  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 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% compress_size is 10488786B = 10.003MB, compress_rate is 100.029% kaezip compress perf result: time used: 256539951 us, speed = 0.305 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.305GB/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。
5. 可选：若安装了KAEGzip解压缩工具，可通过下列步骤进行功能及性能验证。

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

  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工具的解压耗时均明显减少。
