blob: 55cb0cb95af89e94bc143f286dd6064de113c587 (
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
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/bin/sh
# do a quick performance test of pseudo
die() {
printf "%s\n" "$*" >&2
exit 1
}
doit() (
cd $dir
printf "%s\n" "Making test data..."
time ./makedata
printf "%s\n" "Timing tar command."
time sh -c 'tar cf - dir_[0-9] | tar -C new -xf -'
printf "%s\n" "Timing find command."
time find new -perm 0100 -exec true {} +
printf "%s\n" "Timing rm."
time rm -rf dir_[0-9] new
)
[ -x bin/pseudo ] || die "You need a bin/pseudo to test."
case $# in
0) dir="perftest.d";;
1) [ -d "$1" ] || die "Specify an existing directory to test in."
dir="$1/perftest.d"
;;
*) die "Usage: perftest [directory]"
;;
esac
case `id -u` in
0) printf "%s\n" "Running test."
doit
printf "%s\n" "Done."
;;
*) [ -d $dir ] && die "$dir directory already exists, delete it if you're done."
mkdir $dir
mkdir $dir/new
cc -o $dir/makedata makedata.c
printf "%s\n" "Running performance test (total time at end)"
time bin/pseudo ./perftest $1
rm -rf $dir
rm -f makedata
;;
esac
|