Skip to content

Instantly share code, notes, and snippets.

@carepack
Forked from atoponce/.gitignore
Created March 23, 2020 23:54
Show Gist options
  • Save carepack/2b7ba9a6eae7b4efe659a2d884ab802d to your computer and use it in GitHub Desktop.
Save carepack/2b7ba9a6eae7b4efe659a2d884ab802d to your computer and use it in GitHub Desktop.
Simple Compression Benchmarks
cantrbry.tar
cantrbry.tar.*.*
.*.swp

Simple Compression Benchmarks

This Gist looks at the following lossless compression utilities, all available as Debian packages:

brotli, bzip2, gzip, lbzip2, lz4, lzip, lzma, lzop, pbzip2, pigz, plzip, pxz, pzstd, xz, zstd

Benchmark

A simple Bash script compresses the Canterbury Corpus (provided) with every compression level for each of the algorithms, with the default level for each printed. It produces a Github-flavored Markdown table, such as results.md as shipped here from my workstation.

Even though it's a Markdown table, you can still process it with standard Unix utilities, as it's pipe-delimited. Something like printing the top-10 fastest compressors:

$ sort -t '|' -k 2 -nr results.md | head
pigz -0 | 258525433.154 | 2821476 | 85109679.301 |
lz4 -1 | 75650475.579 | 1229064 | 55192298.771 | default
lzop -3 | 71676886.832 | 1199867 | 16830860.795 | default
lzop -2 | 71558916.811 | 1199867 | 38213867.999 |
lzop -4 | 68617624.789 | 1199867 | 29681383.024 |
lzop -1 | 68561204.698 | 1210489 | 35648694.633 |
lzop -5 | 67990840.618 | 1199867 | 41306498.621 |
lzop -6 | 67616475.385 | 1199867 | 44747936.210 |
lz4 -2 | 61547959.238 | 1229064 | 77693145.754 |
pigz -1 | 42988502.188 | 866357 | 29336060.575 |

Printing the tightest compression results between brotli(1) and zstd(1):

$ grep -E '^(brotli|zstd)' results.md | sort -t '|' -k 3 -n | head  
brotli -11 | 53483.277 | 495859 | 9783745.946 | default
zstd --ultra -21 | 413327.544 | 516708 | 14872758.711 |
zstd --ultra -22 | 262693.526 | 516719 | 25229871.714 |
zstd -19 | 427172.435 | 516752 | 14235727.584 |
zstd --ultra -20 | 460621.272 | 516752 | 24879831.001 |
brotli -10 | 120502.209 | 518406 | 26550577.522 |
zstd -18 | 628484.580 | 518962 | 13812735.470 |
zstd -17 | 977636.888 | 525979 | 16590003.177 |
zstd -16 | 1083873.266 | 535615 | 26475770.306 |
brotli -9 | 1811053.437 | 587153 | 19998655.296 |

Et cetera. I'm sure you can figure out how to handle the headers separately, or format to your liking.

#!/bin/bash
declare -a utils
utils=(brotli bzip2 gzip lbzip2 lz4 lzip lzma lzop pbzip2 pigz plzip pxz pzstd xz zstd)
ret=0
for util in "${utils[@]}"; do
command -v "$util" &> /dev/random
if [[ $? -ne 0 ]]; then
echo "$util not installed."
ret=$(($ret|1))
fi
done
for cmd in bc date stat; do
command -v bc &> /dev/random
if [[ $? -ne 0 ]]; then
echo "$cmd not installed."
ret=$(($ret|1))
fi
done
if [[ $ret -ne 0 ]]; then
exit 1
fi
# http://corpus.canterbury.ac.nz/descriptions/#cantrbry
gzip -dfkq cantrbry.tar.gz
file="cantrbry.tar"
nproc=8
echo 'Algorithm | Comp. bytes/sec. | Comp. bytes | Decomp. bytes/sec. | Default?'
echo ':---:|:---:|:---:|:---:|:---:'
for util in "${utils[@]}"; do
case "$util" in
brotli)
ext="br"
for l in {0..11}; do
begin=$(date +'%s%N')
"$util" -q "$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -q "$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 11 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
bzip2)
ext="bz2"
for l in {1..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}".bz2 > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 9 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
gzip)
ext="gz"
for l in {1..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
lbzip2)
ext="lbz2"
for l in {1..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 9 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
lzip)
ext="lz"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
lzma)
ext="lzma"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -e -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -e -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
echo "$util -e -$l | $compbps | $size | $decompbps |"
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
lz4)
ext="lz4"
for l in {1..12}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 1 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
lzop)
ext="lzo"
for l in {1..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 3 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
pbzip2)
ext="pbz2"
for l in {1..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 9 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
pigz)
ext="pgz"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
plzip)
ext="plz"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
pxz)
ext="pxz"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -e -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -e -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
echo "$util -e -$l | $compbps | $size | $decompbps |"
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
pzstd)
ext="pzst"
for l in {1..22}; do
begin=$(date +'%s%N')
if [[ "$l" -lt 20 ]]; then
"$util" -"$l" -qc "$file" > "${file}.${l}.${ext}"
else
"$util" --ultra -"$l" -qc "$file" > "${file}.${l}.${ext}"
fi
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
if [[ "$l" -lt 20 ]]; then
"$util" -"$l" -qdc "${file}.${l}.${ext}" > "$file"
else
"$util" --ultra -"$l" -qdc "${file}.${l}.${ext}" > "$file"
fi
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq "$nproc" ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
elif [[ "$l" -gt 19 ]]; then
echo "$util --ultra -$l | $compbps | $size | $decompbps |"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
xz)
ext="xz"
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 6 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
for l in {0..9}; do
begin=$(date +'%s%N')
"$util" -e -"$l" -c "$file" > "${file}.${l}.${ext}"
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
"$util" -e -"$l" -dc "${file}.${l}.${ext}" > "$file"
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
echo "$util -e -$l | $compbps | $size | $decompbps |"
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
zstd)
ext="zst"
for l in {0..22}; do
begin=$(date +'%s%N')
if [[ "$l" -lt 20 ]]; then
"$util" -"$l" -qc "$file" > "${file}.${l}.${ext}"
else
"$util" --ultra -"$l" -qc "$file" > "${file}.${l}.${ext}"
fi
finish=$(date +'%s%N')
comp=$((${finish}-${begin}))
size=$(stat -c %s "${file}.${l}.${ext}")
begin=$(date +'%s%N')
if [[ "$l" -lt 20 ]]; then
"$util" -"$l" -qdc "${file}.${l}.${ext}" > "$file"
else
"$util" --ultra -"$l" -qdc "${file}.${l}.${ext}" > "$file"
fi
finish=$(date +'%s%N')
decomp=$((${finish}-${begin}))
compbps=$(echo "scale=3; 10^9*${size}/${comp}" | bc)
decompbps=$(echo "scale=3; 10^9*${size}/${decomp}" | bc)
if [[ "$l" -eq 3 ]]; then
echo "$util -$l | $compbps | $size | $decompbps | default"
elif [[ "$l" -gt 19 ]]; then
echo "$util --ultra -$l | $compbps | $size | $decompbps |"
else
echo "$util -$l | $compbps | $size | $decompbps |"
fi
rm "${file}.${l}.${ext}" &> /dev/random
done
;;
esac
done
Algorithm Comp. bytes/sec. Comp. bytes Decomp. bytes/sec. Default?
brotli -0 42525623.161 846665 18639363.555
brotli -1 27743124.798 750828 20132239.318
brotli -2 14861286.043 666032 15397168.684
brotli -3 13076200.418 667286 34211101.743
brotli -4 6030529.727 598832 30460359.725
brotli -5 3790942.605 600497 29044853.410
brotli -6 3015397.760 594071 27685405.737
brotli -7 2449122.455 590603 26733355.775
brotli -8 2153205.869 588271 27840031.423
brotli -9 1811053.437 587153 19998655.296
brotli -10 120502.209 518406 26550577.522
brotli -11 53483.277 495859 9783745.946 default
bzip2 -1 2773212.007 584964 5027657.124
bzip2 -2 2692912.705 572306 6146071.812
bzip2 -3 2750474.686 564947 5758646.685
bzip2 -4 2652870.739 566661 6236081.271
bzip2 -5 2633621.331 569402 5255272.342
bzip2 -6 2649524.910 559139 5744808.854
bzip2 -7 2702710.657 571189 5866505.627
bzip2 -8 2558766.711 569406 5835549.491
bzip2 -9 2544577.103 570856 5915145.755 default
gzip -1 17149103.955 872568 29328136.848
gzip -2 15007456.484 841649 29057107.563
gzip -3 11881598.143 813271 34079663.939
gzip -4 11128065.265 789786 29382949.357
gzip -5 7149492.596 750049 10021142.025
gzip -6 5345690.863 739064 29968803.919 default
gzip -7 4413673.818 740960 26509497.763
gzip -8 1923741.323 736799 33853591.014
gzip -9 1092794.719 736221 31198742.525
lbzip2 -1 14188885.884 582455 32158851.048
lbzip2 -2 12479163.388 569140 24700620.957
lbzip2 -3 12451645.615 559446 24619983.903
lbzip2 -4 11436986.763 567530 22919152.893
lbzip2 -5 10212529.226 566802 19721538.976
lbzip2 -6 9824726.279 552900 19181941.040
lbzip2 -7 6823916.508 571759 15338149.020
lbzip2 -8 6802582.930 564393 14492693.706
lbzip2 -9 7839086.900 561033 16551658.582 default
lz4 -1 75650475.579 1229064 55192298.771 default
lz4 -2 61547959.238 1229064 77693145.754
lz4 -3 17458602.436 980412 121142611.429
lz4 -4 12698553.557 959607 95460933.375
lz4 -5 9167394.649 947582 88368668.105
lz4 -6 7170755.790 942095 65558163.468
lz4 -7 5506338.484 939622 81099173.612
lz4 -8 4184847.164 938254 70885172.026
lz4 -9 3539506.570 937421 12233745.808
lz4 -10 4085128.236 934451 75554051.672
lz4 -11 1897153.452 931625 32532244.242
lz4 -12 557981.736 930645 77420560.828
lzip -0 7653724.852 591221 16395378.819
lzip -1 2953773.694 585234 10929672.446
lzip -2 1754986.142 554104 6302717.196
lzip -3 738401.534 519202 7021951.710
lzip -4 662861.625 498387 8795445.238
lzip -5 381100.358 488380 4784076.640
lzip -6 350391.448 486875 8484556.373 default
lzip -7 336169.068 484132 7907605.161
lzip -8 283456.235 482663 5757486.961
lzip -9 216531.107 481413 5395579.196
lzma -0 3442434.628 617018 10743550.214
lzma -1 2495734.496 568422 6030700.125
lzma -2 1677103.707 554302 6412207.559
lzma -3 1246543.172 549928 8712624.522
lzma -4 442987.048 491251 6973604.877
lzma -5 403623.779 487290 7646316.236
lzma -6 373788.818 485928 6024627.715 default
lzma -7 382003.766 485998 7386470.656
lzma -8 370987.157 485998 10485060.754
lzma -9 358905.251 485998 5781920.251
lzma -e -0 243300.024 489760 7447328.882
lzma -e -1 205079.759 488004 8951794.869
lzma -e -2 206048.730 485696 6231993.534
lzma -e -3 276136.458 482843 10504767.201
lzma -e -4 195524.988 485713 7539253.866
lzma -e -5 275460.051 482843 8939614.192
lzma -e -6 188395.778 485713 5804664.303
lzma -e -7 199516.583 485713 5230885.223
lzma -e -8 189621.081 485713 6737669.005
lzma -e -9 190734.457 485713 6448051.574
lzop -1 68561204.698 1210489 35648694.633
lzop -2 71558916.811 1199867 38213867.999
lzop -3 71676886.832 1199867 16830860.795 default
lzop -4 68617624.789 1199867 29681383.024
lzop -5 67990840.618 1199867 41306498.621
lzop -6 67616475.385 1199867 44747936.210
lzop -7 3306260.512 944068 63814210.198
lzop -8 817155.381 931435 41422010.341
lzop -9 564826.128 930815 17975648.949
pbzip2 -1 6780922.787 582374 5603930.478
pbzip2 -2 6776409.138 568388 5711604.987
pbzip2 -3 5254845.293 559157 5777099.708
pbzip2 -4 6071586.016 556204 5545545.772
pbzip2 -5 4719549.057 555145 5375965.633
pbzip2 -6 6502934.219 563562 5257088.445
pbzip2 -7 6312213.249 568372 4890454.951
pbzip2 -8 4660333.477 567199 5766975.664
pbzip2 -9 5147798.934 566224 5238312.969 default
pigz -0 258525433.154 2821476 85109679.301
pigz -1 42988502.188 866357 29336060.575
pigz -2 36702810.286 828584 32441309.304
pigz -3 34768285.974 798307 31718201.173
pigz -4 13211359.636 778314 40768480.680
pigz -5 22648861.561 745095 46669044.292
pigz -6 16076847.741 733735 49839728.458 default
pigz -7 15710142.392 734746 48010661.920
pigz -8 7557754.683 731108 40902323.009
pigz -9 4899633.573 730418 37085585.522
plzip -0 7759443.026 591221 14882354.159
plzip -1 2872114.338 585234 11388408.853
plzip -2 1761795.524 554104 6815423.789
plzip -3 1025264.221 519202 6094622.285
plzip -4 748820.975 498387 6132511.476
plzip -5 387822.836 488380 6969913.018
plzip -6 374338.978 486875 6215975.553 default
plzip -7 346005.675 484132 6681689.744
plzip -8 289816.263 482663 8323326.583
plzip -9 186121.237 481413 7403909.644
pxz -0 4971483.209 620380 9976036.158
pxz -1 1890441.438 568556 6376223.472
pxz -2 1295433.339 554440 7039872.694
pxz -3 999294.520 550056 8530873.780
pxz -4 385759.994 491368 8741137.325
pxz -5 384031.261 487408 6283474.438
pxz -6 340652.971 486044 9582811.994 default
pxz -7 338309.057 486116 6850823.693
pxz -8 365393.368 486116 7341208.882
pxz -9 326228.776 486116 7190535.052
pxz -e -0 5765777.996 620380 10255423.320
pxz -e -1 2400047.032 568556 9022830.829
pxz -e -2 1488180.726 554440 4130440.263
pxz -e -3 968657.794 550056 9378046.169
pxz -e -4 425645.825 491368 7008095.833
pxz -e -5 349227.230 487408 8691484.435
pxz -e -6 335340.433 486044 6248499.644
pxz -e -7 367672.277 486116 6492868.237
pxz -e -8 352305.931 486116 5875458.780
pxz -e -9 367108.377 486116 7333627.221
pzstd -1 31846727.227 704042 12040225.292
pzstd -2 23439475.464 664086 23000373.084
pzstd -3 19635697.130 642542 36420670.987
pzstd -4 18030308.692 640216 42218442.601
pzstd -5 10733909.728 632807 35969946.328
pzstd -6 8543048.021 624604 45073568.454
pzstd -7 5337407.377 607160 35223346.216
pzstd -8 5309200.929 604753 36711908.950 default
pzstd -9 3854609.902 601183 39274149.810
pzstd -10 4198468.666 601296 34861324.289
pzstd -11 3714335.849 600880 33282968.711
pzstd -12 2608659.474 598808 35916624.640
pzstd -13 2146727.317 594680 31752742.523
pzstd -14 2076904.480 593634 36372613.138
pzstd -15 1744451.169 593608 38070698.437
pzstd -16 1082814.737 535624 27700993.482
pzstd -17 930018.822 525988 14993613.031
pzstd -18 620584.566 518971 31801108.309
pzstd -19 370972.501 516761 16262896.981
pzstd --ultra -20 341784.576 516761 29659149.444
pzstd --ultra -21 349750.822 516717 31316386.798
pzstd --ultra -22 193729.373 516728 20495027.855
xz -0 3170599.321 617164 8496348.635
xz -1 1817745.561 568556 10508069.744
xz -2 1353425.533 554440 7088727.848
xz -3 905984.616 550056 6717762.465
xz -4 378145.090 491368 6529884.192
xz -5 389045.742 487408 6366740.630
xz -6 358627.187 486044 9554301.141 default
xz -7 378648.049 486116 9024134.784
xz -8 330858.747 486116 8851595.620
xz -9 354733.657 486116 7053997.977
xz -e -0 221528.082 489876 6981495.820
xz -e -1 177470.460 488120 8635337.662
xz -e -2 176914.134 485812 8004947.587
xz -e -3 257627.596 482960 6402760.154
xz -e -4 193201.039 485832 7647537.418
xz -e -5 285225.571 482960 6877240.530
xz -e -6 196028.275 485832 7337312.901
xz -e -7 203357.362 485832 9462377.955
xz -e -8 206378.137 485832 7321010.704
xz -e -9 203920.900 485832 8170510.312
zstd -0 19165292.331 642534 54271149.995
zstd -1 36268595.227 701641 7506509.719
zstd -2 25575804.377 661066 21466170.355
zstd -3 20062103.365 642534 31692373.452 default
zstd -4 18404978.700 640208 44845463.008
zstd -5 9273096.839 632797 45276373.934
zstd -6 9498767.235 624592 37172851.210
zstd -7 6540150.769 607153 36096674.758
zstd -8 5638374.203 604744 34815001.980
zstd -9 4348387.693 601175 42484196.380
zstd -10 4279621.344 601287 33404788.793
zstd -11 3959751.979 600871 34806013.291
zstd -12 2513726.541 598799 33963751.065
zstd -13 2167685.380 594671 35854170.654
zstd -14 2127588.038 593625 33883827.204
zstd -15 1876199.631 593599 37899319.420
zstd -16 1083873.266 535615 26475770.306
zstd -17 977636.888 525979 16590003.177
zstd -18 628484.580 518962 13812735.470
zstd -19 427172.435 516752 14235727.584
zstd --ultra -20 460621.272 516752 24879831.001
zstd --ultra -21 413327.544 516708 14872758.711
zstd --ultra -22 262693.526 516719 25229871.714
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment