#!/usr/bin/env bash

if [ $# -le 1 ]
then
  echo "Usage: $0 PROGRAM CHARACTER..." >&2
  echo "Example: $0 solv2 a c"          >&2
  exit 1
fi

prog="$1"
shift

for char
do
  if [ $(ls ../input_qualification_round_2019/${char}_*.txt | wc -l) -ne 1 ]
  then
    echo "Invalid argument -- '$char'" >&2
    exit 1
  fi

  echo -n "start $char at "
  date

  perf stat --timeout 120000                               \
    -e cycles:u                                            \
    -e instructions:u                                      \
    -e L1-dcache-load-misses:u                             \
    -e dTLB-load-misses:u                                  \
    "./$prog" input_qualification_round_2019/${char}_*.txt \
    1>${char}_solv.log 2>>${char}_perf.log

  echo -n "done  $char at "
  date
  echo
done
