#!/bin/sh DATA_DIR="data" SRC_DIR="../src" SORTER="$SRC_DIR/sorter" ALGORITHMS=("isort" "qsort") OUTPUT_STRING="type,size,time" for TEST_FILE in "$DATA_DIR"/*; do FILE_NAME=$(basename "$TEST_FILE") for ALGORITHM in "${ALGORITHMS[@]}"; do echo "Benchmarking $FILE_NAME using $ALGORITHM ..." perf stat -e task-clock $SORTER -a "$ALGORITHM" "$TEST_FILE" >/dev/null 2> perf_out.txt elapsed=$(grep "seconds time elapsed" perf_out.txt | awk '{print $1}') # Remove prefix and suffix # type_size_n.tsv TYPE="${FILE_NAME%%_*}" # before first _ rest="${FILE_NAME#*_}" # after first _ TEST_SIZE="${rest%%_*}" # before next _ OUTPUT_STRING="$OUTPUT_STRING $ALGORITHM"_"$TYPE,$TEST_SIZE,$elapsed" done done rm perf_out.txt # Write to file echo "$OUTPUT_STRING" > benchmark_results.csv