|
1 | 1 | #!/bin/bash
|
2 | 2 |
|
3 |
| -TIMES_DIR=/home/ncameron/times |
4 |
| -SCRIPTS_DIR=/home/ncameron/times-scripts |
| 3 | +if [ -z "$TIMES_DIR" ]; then |
| 4 | + TIMES_DIR=/home/ncameron/times |
| 5 | +fi |
| 6 | +if [ -z "$SCRIPTS_DIR" ]; then |
| 7 | + SCRIPTS_DIR=/home/ncameron/times-scripts |
| 8 | +fi |
| 9 | + |
| 10 | +echo TIMES_DIR=$TIMES_DIR |
| 11 | +echo SCRIPTS_DIR=$SCRIPTS_DIR |
5 | 12 |
|
6 | 13 | START=$(pwd)
|
7 | 14 | export CARGO_RUSTC_OPTS="-Ztime-passes -Zinput-stats"
|
8 | 15 | export PATH=$RUSTC_DIR/bin:$PATH
|
9 | 16 |
|
10 |
| -for dir in *; do |
| 17 | +# Check if user provided list of directories; |
| 18 | +# else process them all. |
| 19 | +if [ "$1" != "" ]; then |
| 20 | + DIRS="$@" |
| 21 | +else |
| 22 | + DIRS="*" |
| 23 | +fi |
| 24 | + |
| 25 | +for dir in $DIRS; do |
11 | 26 | if [[ -d $dir ]]; then
|
12 | 27 | echo "Processing $dir"
|
13 | 28 |
|
| 29 | + cd $START/$dir |
| 30 | + PATCHES=($(make patches)) |
| 31 | + if [ ! "${PATCHES[*]}" ]; then |
| 32 | + PATCHES=('') |
| 33 | + fi |
| 34 | + |
| 35 | + echo Patches: ${PATCHES[*]} |
| 36 | + |
14 | 37 | for i in 0 1 2 3 4 5
|
15 | 38 | do
|
16 |
| - cd $RUST_DIR |
17 |
| - git show HEAD -s >$TIMES_DIR/raw/$dir--$DATE--$i.log |
18 |
| - cd $START/$dir |
19 |
| - echo "rustc: ./$dir" >>$TIMES_DIR/raw/$dir--$DATE--$i.log |
20 |
| - make >>$TIMES_DIR/raw/$dir--$DATE--$i.log |
21 |
| - echo "done" >>$TIMES_DIR/raw/$dir--$DATE--$i.log |
22 |
| - |
| 39 | + for PATCH in "${PATCHES[@]}"; do |
| 40 | + cd $RUST_DIR |
| 41 | + git show HEAD -s >$TIMES_DIR/raw/$dir$PATCH--$DATE--$i.log |
| 42 | + cd $START/$dir |
| 43 | + echo "rustc: ./$dir" >>$TIMES_DIR/raw/$dir$PATCH--$DATE--$i.log |
| 44 | + make all$PATCH >>$TIMES_DIR/raw/$dir$PATCH--$DATE--$i.log |
| 45 | + echo "done" >>$TIMES_DIR/raw/$dir$PATCH--$DATE--$i.log |
| 46 | + done |
23 | 47 | make touch >/dev/null
|
24 | 48 | done
|
25 | 49 |
|
26 | 50 | make clean >/dev/null
|
27 | 51 |
|
28 | 52 | cd $TIMES_DIR
|
29 |
| - python $SCRIPTS_DIR/process.py $dir $DATE 6 |
| 53 | + for PATCH in "${PATCHES[@]}"; do |
| 54 | + python $SCRIPTS_DIR/process.py "$dir$PATCH" "$DATE" 6 |
| 55 | + done |
| 56 | + |
30 | 57 | for i in 0 1 2 3 4 5
|
31 | 58 | do
|
32 |
| - git add raw/$dir--$DATE--$i.log |
33 |
| - git add raw/orbit-$dir--$DATE--$i.log |
34 |
| - git add processed/$dir--$DATE--$i.json |
| 59 | + for PATCH in "${PATCHES[@]}"; do |
| 60 | + git add "raw/$dir$PATCH--$DATE--$i.log" |
| 61 | + git add "raw/orbit-$dir$PATCH--$DATE--$i.log" |
| 62 | + git add "processed/$dir$PATCH--$DATE--$i.json" |
| 63 | + done |
35 | 64 | done
|
36 | 65 |
|
37 | 66 | cd $START
|
|
0 commit comments