annotate libstdc++-v3/scripts/check_performance @ 136:4627f235cf2a

fix c-next example
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 08 Nov 2018 14:11:56 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 #!/usr/bin/env bash
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 # Script to do performance testing.
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 # Invocation
kono
parents:
diff changeset
6 # check_performance SRC_DIR BUILD_DIR
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 # 1: variables
kono
parents:
diff changeset
9 #
kono
parents:
diff changeset
10 SRC_DIR=$1
kono
parents:
diff changeset
11 BUILD_DIR=$2
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 # Now that we've successfully translated the numerical option into
kono
parents:
diff changeset
14 # a symbolic one, we can safely ignore it.
kono
parents:
diff changeset
15 shift
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 # This has been true all along. Found out about it the hard way...
kono
parents:
diff changeset
18 case $BASH_VERSION in
kono
parents:
diff changeset
19 1*)
kono
parents:
diff changeset
20 echo 'You need bash 2.x to run check_performance. Exiting.';
kono
parents:
diff changeset
21 exit 1 ;;
kono
parents:
diff changeset
22 *) ;;
kono
parents:
diff changeset
23 esac
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 flags_script=$BUILD_DIR/scripts/testsuite_flags
kono
parents:
diff changeset
26 INCLUDES=`$flags_script --build-includes`
kono
parents:
diff changeset
27 PCH_FLAGS=`$flags_script --cxxpchflags`
kono
parents:
diff changeset
28 FLAGS=`$flags_script --cxxflags`
kono
parents:
diff changeset
29 THREAD_FLAG='-pthread'
kono
parents:
diff changeset
30 COMPILER=`$flags_script --build-cxx`
kono
parents:
diff changeset
31 SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \
kono
parents:
diff changeset
32 -Wl,--rpath -Wl,$BUILD_DIR/src/.libs"
kono
parents:
diff changeset
33 ST_FLAG="-static"
kono
parents:
diff changeset
34 LINK=$SH_FLAG
kono
parents:
diff changeset
35 CXX="$COMPILER $INCLUDES $FLAGS -std=gnu++0x $CXXFLAGS $LINK"
kono
parents:
diff changeset
36 LIBS="./libtestc++.a"
kono
parents:
diff changeset
37 TESTS_FILE="testsuite_files_performance"
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 echo CXX is $CXX
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 for NAME in `cat $TESTS_FILE`
kono
parents:
diff changeset
42 do
kono
parents:
diff changeset
43 RUN=true
kono
parents:
diff changeset
44 TESTNAME=$SRC_DIR/testsuite/$NAME
kono
parents:
diff changeset
45 FILE_NAME="`basename $NAME`"
kono
parents:
diff changeset
46 FILE_NAME="`echo $FILE_NAME | sed 's/.cc//g'`"
kono
parents:
diff changeset
47
kono
parents:
diff changeset
48 # TEST_S == single thread
kono
parents:
diff changeset
49 # TEST_B == do both single and multi-thread
kono
parents:
diff changeset
50 # TEST_T == multi-thread
kono
parents:
diff changeset
51 for CYCLE in `sed -n 's,.*\(TEST_[SB][0-9]*\)$,\1,p' $TESTNAME`
kono
parents:
diff changeset
52 do
kono
parents:
diff changeset
53 RUN=false
kono
parents:
diff changeset
54 echo $NAME $CYCLE
kono
parents:
diff changeset
55 EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
kono
parents:
diff changeset
56 $CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
kono
parents:
diff changeset
57 if [ -f $EXE_NAME ]; then
kono
parents:
diff changeset
58 ./$EXE_NAME
kono
parents:
diff changeset
59 else
kono
parents:
diff changeset
60 echo "compile error:"
kono
parents:
diff changeset
61 echo "$CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
kono
parents:
diff changeset
62 fi
kono
parents:
diff changeset
63 done
kono
parents:
diff changeset
64
kono
parents:
diff changeset
65 for CYCLE in `sed -n 's,.*\(TEST_[TB][0-9]*\)$,\1,p' $TESTNAME`
kono
parents:
diff changeset
66 do
kono
parents:
diff changeset
67 RUN=false
kono
parents:
diff changeset
68 echo $NAME $CYCLE thread
kono
parents:
diff changeset
69 EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
kono
parents:
diff changeset
70 $CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
kono
parents:
diff changeset
71 if [ -f $EXE_NAME ]; then
kono
parents:
diff changeset
72 ./$EXE_NAME
kono
parents:
diff changeset
73 else
kono
parents:
diff changeset
74 echo "compile error:"
kono
parents:
diff changeset
75 echo "$CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
kono
parents:
diff changeset
76 fi
kono
parents:
diff changeset
77 done
kono
parents:
diff changeset
78
kono
parents:
diff changeset
79 if $RUN; then
kono
parents:
diff changeset
80 echo $NAME
kono
parents:
diff changeset
81 EXE_NAME="`echo $FILE_NAME.exe`"
kono
parents:
diff changeset
82 $CXX $TESTNAME $LIBS -o $EXE_NAME
kono
parents:
diff changeset
83 if [ -f $EXE_NAME ]; then
kono
parents:
diff changeset
84 ./$EXE_NAME >& tmp.$FILE_NAME
kono
parents:
diff changeset
85 else
kono
parents:
diff changeset
86 echo "compile error:"
kono
parents:
diff changeset
87 echo "$CXX $TESTNAME $LIBS -o $EXE_NAME"
kono
parents:
diff changeset
88 fi
kono
parents:
diff changeset
89 if [ -s tmp.$FILE_NAME ]; then
kono
parents:
diff changeset
90 mv tmp.$FILE_NAME $FILE_NAME.xml
kono
parents:
diff changeset
91 fi
kono
parents:
diff changeset
92 fi
kono
parents:
diff changeset
93 done
kono
parents:
diff changeset
94
kono
parents:
diff changeset
95 exit 0