summaryrefslogtreecommitdiff
path: root/bench
diff options
context:
space:
mode:
Diffstat (limited to 'bench')
-rwxr-xr-xbench31
1 files changed, 31 insertions, 0 deletions
diff --git a/bench b/bench
new file mode 100755
index 0000000..e6a710d
--- /dev/null
+++ b/bench
@@ -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