-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_experiments.sh
More file actions
executable file
·41 lines (33 loc) · 1.43 KB
/
run_experiments.sh
File metadata and controls
executable file
·41 lines (33 loc) · 1.43 KB
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
33
34
35
36
37
38
39
40
41
#!/bin/bash
SUFFIX=$(date +"%Y%m%d_%H%M%S")
RESULTSDIR="results"
RESULTS="${RESULTSDIR}/results_${SUFFIX}.txt"
LOGDIR="${RESULTSDIR}/logs"
mkdir -p "$LOGDIR"
echo "N,K,L,type_of_tree,avg_insert_time,avg_query_time" > "$RESULTS"
REPEAT=1
for FILE in ../bods/workloads/workload_N*_K*_L*.bin; do
[ -f "$FILE" ] || continue
BASENAME=$(basename "$FILE")
N=$(echo "$BASENAME" | sed -n 's/.*_N\([0-9]*\)_K[0-9]*_L[0-9]*.bin/\1/p')
K=$(echo "$BASENAME" | sed -n 's/.*_N[0-9]*_K\([0-9]*\)_L[0-9]*.bin/\1/p')
L=$(echo "$BASENAME" | sed -n 's/.*_N[0-9]*_K[0-9]*_L\([0-9]*\).bin/\1/p')
LOGFILE="${LOGDIR}/log_${BASENAME%.txt}_${SUFFIX}.txt"
for TREE in ART QuART_tail QuART_lil; do
INSERT_SUM=0
QUERY_SUM=0
for ((i=1; i<=REPEAT; i++)); do
echo "Running $TREE on $FILE (run $i/$REPEAT)" >> "$LOGFILE"
OUTPUT=$(./build/run -v -f "$FILE" -N "$N" -t "$TREE" 2>>"$LOGFILE")
echo "$OUTPUT" >> "$LOGFILE"
CSV_LINE=$(echo "$OUTPUT" | tail -1)
INSERT_TIME=$(echo "$CSV_LINE" | cut -d',' -f1 | xargs)
QUERY_TIME=$(echo "$CSV_LINE" | cut -d',' -f2 | xargs)
INSERT_SUM=$((INSERT_SUM + INSERT_TIME))
QUERY_SUM=$((QUERY_SUM + QUERY_TIME))
done
AVG_INSERT_TIME=$((INSERT_SUM / REPEAT))
AVG_QUERY_TIME=$((QUERY_SUM / REPEAT))
echo "$N,$K,$L,$TREE,$AVG_INSERT_TIME,$AVG_QUERY_TIME" >> "$RESULTS"
done
done