Advent-of-Code-Aggregator/2023/complete-benchmark
2023-12-01 13:24:17 +01:00

48 lines
912 B
Bash
Executable file

#!/bin/sh
help()
{
echo $0 [day] [part]
}
if ! test -n "$1"; then
echo "'day' is not given" >&2
help
exit 1
fi
day="$(printf '%02d' ${1##0})"
if ! test -n "$2"; then
echo "'part' is not given" >&2
help
exit 1
fi
part="$2"
inputfile="$PWD/inputs/${day}.txt"
if ! test -f "$inputfile"; then
echo "no input available at '$inputfile'" >&2
exit 1
fi
echo "Running benchmarks for day $day part $part"
for dir in *; do
if test -d "$dir"; then
cd "$dir"
if test -x ./prepare; then
echo "---------------------------------------------------------------------------------- $dir"
if ! ./prepare "$day" "$part" >&2; then
echo 'eh ge hebt precies niet alles geïnstalleerd staan'
else
if test -x run; then
hyperfine -n "$dir" "./run '$day' '$part' '$inputfile'"
fi
fi
fi
if test -x ./clean; then
./clean "$day" "$part" "$inputfile"
fi
cd - > /dev/null 2>&1
fi
done