Skip to content

Instantly share code, notes, and snippets.

@ivanstepanovftw
Created November 13, 2022 16:05
Show Gist options
  • Save ivanstepanovftw/7c94e721f06306fe016fc2efdfa995e5 to your computer and use it in GitHub Desktop.
Save ivanstepanovftw/7c94e721f06306fe016fc2efdfa995e5 to your computer and use it in GitHub Desktop.
Test compression algorithms
#!/usr/bin/env bash
# FIXME: Untested!
function compress() {
input="$1"
output="$(basename "$input")"
command -v lz4 && lz4 -1 "$input" "$output.1.lz4"
command -v lz4 && lz4 -9 "$input" "$output.9.lz4"
command -v gzip && gzip -1 -k -c "$input" > "$output.1.gzip"
command -v gzip && gzip -9 -k -c "$input" > "$output.9.gzip"
command -v lzma && lzma -1 -k -c "$input" > "$output.1.xz"
command -v lzma && lzma -9 -k -c "$input" > "$output.9.xz"
command -v bzip2 && bzip2 -1 -k -c "$input" > "$output.1.bz2"
command -v bzip2 && bzip2 -9 -k -c "$input" > "$output.9.bz2"
command -v zstd && zstd -1 -k -c "$input" > "$output.1.zstd"
command -v zstd && zstd -9 -k -c "$input" > "$output.9.zstd"
command -v zstd && zstd -19 -k -c "$input" > "$output.19.zstd"
command -v zpaq && zpaq -1 -k -c "$input" > "$output.1.zpaq"
command -v zpaq && zpaq -9 -k -c "$input" > "$output.9.zpaq"
}
function clean() {
rm ./*.lz4 ./*.gzip ./*.xz ./*.bz2 ./*.zstd ./*.zpaq
}
for file in "$@"; do
compress "$file"
done
command -v lz4 || echo "lz4 not found"
command -v gzip || echo "gzip not found"
command -v lzma || echo "lzma not found"
command -v bzip2 || echo "bzip2 not found"
command -v zstd || echo "zstd not found"
command -v zpaq || echo "zpaq not found"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment