-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrr-bench.sh
70 lines (52 loc) · 1.17 KB
/
rr-bench.sh
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
N=6
ulimit -n 4096
echo ^^^^ NORMAL
for i in $(seq 1 $N); do
$CLEANUP
$MEASURE $CMD
done
echo ^^^^ SINGLE-CORE
for i in $(seq 1 $N); do
$CLEANUP
LD_PRELOAD=$HOME/rr-paper/sysconf-preload.so $MEASURE taskset 4 $CMD_SINGLE
done
if [[ $DO_RR_CONFIGS == 1 ]]; then
rm -rf $HOME/.local/share/rr
echo ^^^^ RECORD-NO-SYSCALLBUF
traces=(dummy)
for i in $(seq 1 $N); do
$CLEANUP
$MEASURE $RR_NO_SYSCALLBUF_CMD
traces+=(`realpath ~/.local/share/rr/latest-trace`)
done
echo ^^^^ REPLAY-NO-SYSCALLBUF
for i in $(seq 1 $N); do
$MEASURE rr replay -F -a ${traces[i]}
done
rm -rf $HOME/.local/share/rr
echo ^^^^ RECORD-NO-CLONING
for i in $(seq 1 $N); do
$CLEANUP
$MEASURE $RR_NO_CLONING_CMD
done
fi
rm -rf $HOME/.local/share/rr
echo ^^^^ RECORD
traces=(dummy)
for i in $(seq 1 $N); do
$CLEANUP
$MEASURE $RR_CMD
traces+=(`realpath ~/.local/share/rr/latest-trace`)
done
echo ^^^^ REPLAY
for i in $(seq 1 $N); do
$MEASURE rr replay -F -a ${traces[i]}
mv ${traces[i]} $HOME/rr-paper/traces/$NAME-$i
done
if [[ $DO_DYNAMORIO == 1 ]]; then
echo ^^^^ DYNAMORIO
for i in $(seq 1 $N); do
$CLEANUP
$MEASURE $DR_CMD
done
fi