diff options
Diffstat (limited to 'bench')
-rwxr-xr-x | bench | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -0,0 +1,31 @@ +#!/usr/bin/env zsh + +year=$1 +day=$2 +lang=$3 +input=$4 +warmups=${5:=0} + +script=$(readlink -f "$0") +script_path=$(dirname "$script") + +aoc_path=$script_path/$1/$2 +data_path="$aoc_path/data/$4.txt" + +# Check it is correct +$script_path/check $1 $2 $3 $4 > /dev/null +[[ ! $? ]] && echo "Incorrect solution" && exit 1 + + +if [[ $lang == "python" ]]; then + exec="python $aoc_path/python/main.py" +elif [[ $lang == "rust" ]]; then + # Compile first + cargo build --release --target-dir /tmp/aoc_rust --manifest-path $aoc_path/rust/Cargo.toml + exec="/tmp/aoc_rust/release/aoc_$year-$day" +else + echo "Unknown lang: $lang" + exit 1 +fi + +hyperfine --shell=none --warmup=$warmups --input=$data_path $exec |