diff --git a/tools/produce_gzip_benchmark_table.sh b/tools/produce_gzip_benchmark_table.sh new file mode 100755 index 0000000..0b09dfa --- /dev/null +++ b/tools/produce_gzip_benchmark_table.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +do_benchmark() { + usize=$(stat -c %s "$file") + "$HOME/proj/libdeflate/benchmark" -g -s $usize "$@" "$file" \ + | grep Compressed | cut -f 4 -d ' ' +} + +echo "File | zlib -6 | zlib -9 | libdeflate -6 | libdeflate -9 | libdeflate -12" +echo "-----|---------|---------|---------------|---------------|---------------" + +for file in "$@"; do + echo -n "$(basename "$file")" + results=() + results+=($(do_benchmark -Y -l 6)) + results+=($(do_benchmark -Y -l 9)) + results+=($(do_benchmark -l 6)) + results+=($(do_benchmark -l 9)) + results+=($(do_benchmark -l 12)) + best=2000000000 + for result in "${results[@]}"; do + if (( result < best)); then + best=$result + fi + done + for result in "${results[@]}"; do + if (( result == best )); then + em="**" + else + em="" + fi + echo -n " | ${em}${result}${em}" + done + echo +done