鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

KAEZlib压缩库测试

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

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

  1. 进入测试目录。
    • KAE1.0:
      1
      cd kae_zip_engine/test/
      
    • KAE2.0:
      1
      cd KAEZlib/test/gtest/
      
  2. 测试KAEZlib加速库功能。
    1
    2
    sh build.sh
    ./kaezlibtest --gtest_filter=*Case*
    

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

  3. 测试性能。
    1. 设置环境变量LD_LIBRARY_PATH并启用KAEZlib加速库。
      1
      export LD_LIBRARY_PATH=/usr/local/kaezip/lib:$ LD_LIBRARY_PATH
      
    2. 进入性能测试目录。
      • KAE1.0:
        1
        cd kae_zip_engine/test
        
      • KAE2.0:
        1
        cd KAEZlib/test/perftest
        
    3. 编译性能测试工具。
      1
      make
      
    4. 测试压缩性能。
      • 使用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。

    5. 测试解压缩性能。
      • 使用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来指定生成。

  4. 可选:若安装了KAEGzip解压缩工具,可通过下列步骤进行功能及性能验证。
    1. 获取帮助信息。
      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>
      
    2. 功能测试。
      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工具能正确地完成文件的压缩解压。

    3. 测试压缩性能。
      • 使用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工具的压缩耗时均明显减少。

    4. 测试解压缩性能。
      • 使用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工具的解压耗时均明显减少。