1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/usr/bin/env bash
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- #
- # Parametrisation to this script is as follows:
- # * none yet
- ###
- # Preamble
- ###
- my_path="$(dirname $(readlink -f $0))" || exit $?
- readonly my_path
- readonly csv_path="$my_path/data"
- function cleanup() {
- echo OK
- }
- trap cleanup EXIT
- function error_out() {
- exit 1
- }
- trap error_out INT TERM
- ###
- # Functions
- ###
- ###
- # Implementation
- ###
- configs=$(find $csv_path -maxdepth 1 -type d -name '*results_*' | sed 's@.*results_@@g') || exit $?
- readonly configs
- declare -A algos
- algos["asym"]="ecc rsa"
- algos["hashes"]="sha2 sha3"
- algos["mac"]="cmac"
- algos["rng"]="rng"
- algos["sym"]="cbc ccm gcm"
- declare -A headers
- headers["asym"]="config,keysize_2,algorithm,keysize,operation,avg ms,ops/sec,"
- headers["hashes"]="config,unused,algorithm,MiB/s,"
- headers["mac"]="config,unused,algorithm,keysize,MiB/s,"
- headers["rng"]="config,unused,algorithm,MiB/s,"
- headers["sym"]="config,chunksize,algorithm,blocksize,direction,AAD,MiB/s,"
- # "... now you have two problems"
- declare -A filters
- filters["ccm"]="-e s/-\(enc\|dec\)-\(no_AAD\|custom\)/,128,\1,\2/g -e s/-\(enc\|dec\),/,128,\1,,/g"
- filters["gcm"]="-e /-192-/d -e /GMAC/d -e s/-\(enc\|dec\)-\(no_AAD\|custom\)/,\1,\2/g -e s/-\(enc\|dec\),/,\1,default,/g -e s/\(128\|256\)-GCM/GCM,\1/g"
- filters["cbc"]="-e /-192-/d -e s/-\(enc\|dec\),/,\1,,/g -e s/\(128\|256\)-CBC/CBC,\1/g"
- filters["cmac"]="-e s/\(128\|256\)-CMAC/CMAC,\1/g"
- filters["ecc"]='-e 1!{/SECP384R1\|SECP521R1/!d}'
- filters["sha2"]="-e s/SHA-/SHA2-/g"
- for t in "${!algos[@]}"
- do
- for algo in ${algos[$t]}
- do
- outfile="$csv_path/combined_${algo}.csv"
- echo ${headers[$t]} > "$outfile"
- for cfg in $configs
- do
- for f in $(find $csv_path/results_${cfg} -name "*${algo}*.csv" | sort -V)
- do
- sz=$(basename $f | sed -e s/${algo}// -e s/_// -e s/\.csv//)
- sz=",$sz"
- for l in $(tail -n +2 $f | tr -d ' ')
- do
- echo "${cfg}${sz},${l}" >> "$outfile"
- done
- [ "${filters[$algo]}" == "" ] || sed -i "$outfile" ${filters[$algo]}
- done
- echo $algo $t $cfg
- done
- done
- done
|