Root/m1/perf/runs

Source at commit a6136bd02799bcab8d2e48fd21dc91f0fee0df41 created 12 years 5 months ago.
By Werner Almesberger, m1rc3/norruption/2/dumplock: use correct offset; fixed block number counting
1#!/bin/sh -x
2
3
4sanitize()
5{
6    basename "$1" .fnp | tr ' ' _ | tr -cd 'A-Za-z0-9_-' | tr -s _ _
7}
8
9
10usage()
11{
12cat <<EOF 1>&2
13usage: $0 [-e|-p] [-n [-o] [-s]] dir
14
15  -e generate the calculated expression (default: just dump debug output)
16  -p profile 10000 runs (default: just dump debug output)
17  -n use "new" scheduler
18  -o enable LCPF optimizer
19  -s enable register pressure statistics
20EOF
21
22}
23
24
25M1=`make path`
26
27extra=
28sched=
29profile=false
30evaluate=false
31
32while [ "${1#-}" != "$1" ]; do
33    case "$1" in
34    -e) evaluate=true;;
35    -p) profile=true;;
36    -n) sched=SCHED=sched.o;;
37    -o) extra="$extra -DLCPF";;
38    -s) extra="$extra -DREG_STATS";;
39    *) usage;;
40    esac
41    shift
42done
43
44[ -z "$1" -o "$2" ] && usage
45if [ ! -d "$1" ]; then
46    echo "$1: directory not found" 1>&2
47    exit 1
48fi
49
50$profile || extra="$extra -DCOMP_DEBUG"
51
52make spotless
53make CFLAGS_EXTRA="$extra" $sched all
54
55for n in $M1/flickernoise/patches/*/*.fnp; do
56    s=`sanitize "$n"`
57    if $profile; then
58        ./main "$n" 10000 || exit
59        gprof main >"$1"/$s
60    elif $evaluate; then
61        ./main "$n" | ./eval.pl >"$1"/$s || exit
62    else
63        ./main "$n" >"$1"/$s || exit
64    fi
65done
66

Archive Download this file

Branches:
master



interactive