From a2be5f0c15218b0177d73b17d9bcb7589965d685 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 1 Jun 2008 00:03:21 +0000 Subject: Reorganize the gcc vendor import work area. This flattens out a bunch of unnecessary path components that are relics of cvs2svn. (These are directory moves) --- libstdc++/scripts/check_performance | 93 +++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 libstdc++/scripts/check_performance (limited to 'libstdc++/scripts/check_performance') diff --git a/libstdc++/scripts/check_performance b/libstdc++/scripts/check_performance new file mode 100755 index 0000000..b7bbd6d --- /dev/null +++ b/libstdc++/scripts/check_performance @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +# Script to do performance testing. + +# Invocation +# check_performance SRC_DIR BUILD_DIR + +# 1: variables +# +SRC_DIR=$1 +BUILD_DIR=$2 + +# Now that we've successfully translated the numerical option into +# a symbolic one, we can safely ignore it. +shift + +# This has been true all along. Found out about it the hard way... +case $BASH_VERSION in + 1*) + echo 'You need bash 2.x to run check_performance. Exiting.'; + exit 1 ;; + *) ;; +esac + +flags_script=$BUILD_DIR/scripts/testsuite_flags +INCLUDES=`$flags_script --build-includes` +PCH_FLAGS=`$flags_script --cxxpchflags` +FLAGS=`$flags_script --cxxflags` +THREAD_FLAG='-pthread' +COMPILER=`$flags_script --build-cxx` +SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \ + -Wl,--rpath -Wl,$BUILD_DIR/src/.libs" +ST_FLAG="-static" +LINK=$SH_FLAG +CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS $LINK" +LIBS="./libtestc++.a" +TESTS_FILE="testsuite_files_performance" + +for NAME in `cat $TESTS_FILE` +do + RUN=true + TESTNAME=$SRC_DIR/testsuite/$NAME + FILE_NAME="`basename $NAME`" + FILE_NAME="`echo $FILE_NAME | sed 's/.cc//g'`" + + # TEST_S == single thread + # TEST_B == do both single and multi-thread + # TEST_T == multi-thread + for CYCLE in `sed -n 's,.*\(TEST_[SB][0-9]*\)$,\1,p' $TESTNAME` + do + RUN=false + echo $NAME $CYCLE + EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`" + $CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME + if [ -f $EXE_NAME ]; then + ./$EXE_NAME + else + echo "compile error:" + echo "$CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME" + fi + done + + for CYCLE in `sed -n 's,.*\(TEST_[TB][0-9]*\)$,\1,p' $TESTNAME` + do + RUN=false + echo $NAME $CYCLE thread + EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`" + $CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME + if [ -f $EXE_NAME ]; then + ./$EXE_NAME + else + echo "compile error:" + echo "$CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME" + fi + done + + if $RUN; then + echo $NAME + EXE_NAME="`echo $FILE_NAME.exe`" + $CXX $TESTNAME $LIBS -o $EXE_NAME + if [ -f $EXE_NAME ]; then + ./$EXE_NAME >& tmp.$FILE_NAME + else + echo "compile error:" + echo "$CXX $TESTNAME $LIBS -o $EXE_NAME" + fi + if [ -s tmp.$FILE_NAME ]; then + mv tmp.$FILE_NAME $FILE_NAME.xml + fi + fi +done + +exit 0 -- cgit v1.1