aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/scripts
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-11-15 00:04:19 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2018-11-15 00:04:19 +0000
commita15032ee7bce189634618226975ebf33a4e8e7aa (patch)
treeb0952465e1c2f6afda1f2146fb03002de2d0b1d4 /libstdc++-v3/scripts
parentaeb2b1f7fbe1907f6ff6feaac4f042decd895765 (diff)
downloadgcc-a15032ee7bce189634618226975ebf33a4e8e7aa.zip
gcc-a15032ee7bce189634618226975ebf33a4e8e7aa.tar.gz
gcc-a15032ee7bce189634618226975ebf33a4e8e7aa.tar.bz2
Optimize pool resource allocation
A recent change caused a performance regression. This restores the previous performance and adds a performance test. * scripts/check_performance: Allow tests to choose a -std flag. * src/c++17/memory_resource.cc (bitset::get_first_unset()): Use local variables of the right types. Call update_next_word() unconditionally. * testsuite/20_util/unsynchronized_pool_resource/cons.cc: New test. * testsuite/performance/20_util/memory_resource/pools.cc: New test. * testsuite/util/testsuite_performance.h (time_counter): Allow timer to be restarted. From-SVN: r266164
Diffstat (limited to 'libstdc++-v3/scripts')
-rwxr-xr-xlibstdc++-v3/scripts/check_performance3
1 files changed, 3 insertions, 0 deletions
diff --git a/libstdc++-v3/scripts/check_performance b/libstdc++-v3/scripts/check_performance
index d196355..3fa9274 100755
--- a/libstdc++-v3/scripts/check_performance
+++ b/libstdc++-v3/scripts/check_performance
@@ -44,6 +44,8 @@ do
TESTNAME=$SRC_DIR/testsuite/$NAME
FILE_NAME="`basename $NAME`"
FILE_NAME="`echo $FILE_NAME | sed 's/.cc//g'`"
+ ORIG_CXX="$CXX"
+ CXX="$CXX `sed -n 's/.* STD=/-std=/p' $TESTNAME`"
# TEST_S == single thread
# TEST_B == do both single and multi-thread
@@ -90,6 +92,7 @@ do
mv tmp.$FILE_NAME $FILE_NAME.xml
fi
fi
+ CXX="$ORIG_CXX"
done
exit 0