sufehmi icon

XCTB - X Compression Tool Benchmarker

sufehmi | PRO | 07/06/20 01:33:23 PM UTC | 0 ⭐ | 5443 👁️ | Never ⏰ | []
Bash |

1.39 KB

|

None

|

0 👍

/

0 👎

#!/bin/bash
 
#### xctb.sh
#### XCTB - X Compression Tool Benchmarker
#
#### included compressor :
#         pigz gzip bzip2 pbzip2 lrzip rzip64 zstd pixz plzip xz
#
# apt-get install -y pigz gzip bzip2 pbzip2 lrzip rzip zstd pixz plzip
#
#######
 
set -x
 
result=x_benchmark.csv
source=$1
compressor_list=("pigz -f" "gzip -f" "bzip2 -f" "pbzip2 -f" "lrzip -f -D" "rzip -f" "zstd -f --rm" "pixz " "plzip -f" "xz -f")
ext_file=("gz" "gz" "bz2" "bz2" "lrz" "rz" "zst" "xz" "lz" "xz")
 
# clean slate
rm $result
i=0
 
echo \"Compression Tool\",\"Compress Time \(sec\)\",\"Compress Size \(MB\)\",\"Decompress Time \(sec\)\"  >> $result
 
for compress in "${compressor_list[@]}" 
do 
 
        #### testing compression
        echo '\r\r Testing compression tool : $compress \r'
 
        #### record compression time
        start=`date +%s`
                $compress $source 
        end=`date +%s`
        compress_time=$((end-start))
 
        #### record compression size
        compress_size=$(ls -s --block-size=M $source.* | cut -f1 -d "M")
 
        #### record decompression time  
        start=`date +%s`
                $compress -d $source.${ext_file[$i]}
        end=`date +%s`
        decompress_time=$((end-start))
 
        echo \"$compress\",\"$compress_time\",\"$compress_size\",\"$decompress_time\" >> $result
        ((i=i+1))
 
done

Comments