blob: b8bc156796d07904366ae75a8846451c9274e9aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/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 ..."
time=$(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
|