Skip to content

Instantly share code, notes, and snippets.

@sqrtofsaturn
Last active October 22, 2015 00:17
Show Gist options
  • Save sqrtofsaturn/e342dd2ab5763a230a4c to your computer and use it in GitHub Desktop.
Save sqrtofsaturn/e342dd2ab5763a230a4c to your computer and use it in GitHub Desktop.
#!/bin/bash
benchmarkOutput() {
local filename=$1
cat "$filename" | grep 'ms$'
}
getUniqExpressions() {
local filename=$1
benchmarkOutput $filename \
| awk '{print $8}' \
| sed -E -e 's/-[0-9]+://g' \
| sort \
| uniq
}
getExpressions() {
local filename=$1
local uniqExpressions=$(getUniqExpressions "$filename")
local expressions
IFS=$'\n' read -rd '' -a expressions <<<"$uniqExpressions"
echo "${expressions[@]}"
}
getAverage(){
local filename=$1
local expression=$2
cat "$filename" \
| grep "$expression-" \
| awk '{print $9}' \
| sed -e 's/ms//' \
| average
}
usage(){
echo "./averages.sh [filename]"
}
main(){
local filename=$1
if [ -z "$filename" ]; then
usage
exit 1
fi
local expressions=( $(getExpressions $filename) )
for expression in "${expressions[@]}"; do
local avg=$(getAverage "$filename" "$expression")
echo "$expression: $avg"
done
}
main $@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment