]> arthur.barton.de Git - bup.git/blob - t/perf-glance
perf-glance: make compatible with python==python3
[bup.git] / t / perf-glance
1 #!/usr/bin/env bash
2
3 set -ueo pipefail
4
5 if test $# -lt 1; then
6     echo "Usage: perf-glance SRC_DATA_PATH..." 1>&2
7     exit 1
8 fi
9 set -x
10 src_data=("$@")
11
12 top="$(pwd)"
13 script_name="$(basename $0)"
14
15 mkdir -p "$top/t/tmp"
16 tmpdir="$(mktemp -d "$top/t/tmp/$script_name-XXXXXXX")"
17
18 export BUP_DIR="$tmpdir/bup"
19
20 bup()
21 {
22     "$top/bup" "$@"
23 }
24
25 get-time()
26 {
27     python -c 'import time; print(time.time())'
28 }
29
30 rm -rf "$BUP_DIR"
31
32 all_start="$(get-time)"
33
34 init_start="$(get-time)"
35 bup init
36 init_finish="$(get-time)"
37
38 index_start="$(get-time)"
39 bup index "${src_data[@]}"
40 index_finish="$(get-time)"
41
42 save_start="$(get-time)"
43 bup save -t -n data "${src_data[@]}"
44 save_finish="$(get-time)"
45
46 mkdir "$tmpdir/restore"
47 restore_start="$(get-time)"
48 bup restore -C "$tmpdir/restore" "/data/latest/"
49 restore_finish="$(get-time)"
50
51 all_finish="$(get-time)"
52
53 set +x
54 cat <<EOS
55
56 init: $(python -c "print($init_finish - $init_start)")
57 index: $(python -c "print($index_finish - $index_start)")
58 save: $(python -c "print($save_finish - $save_start)")
59 restore: $(python -c "print($restore_finish - $restore_start)")
60 all: $(python -c "print($all_finish - $all_start)")
61 EOS
62
63 cd "$top"
64 rm -r "$tmpdir"