Commit 5a0727d9 by Steve Ellcey

vector.cc: Shrink memory usage under simulator.

2013-01-14  Steve Ellcey  <sellcey@mips.com>

	* testsuite/libstdc++-v3/testsuite/23_containers/vector/profile/vector.cc:
	Shrink memory usage under simulator.
	* testsuite/libstdc++-v3/testsuite/26_numerics/valarray/28277.cc: Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-1.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-2.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc:
	Ditto.
	* testsuite/libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc:
	Ditto.

From-SVN: r195177
parent 4bd18fae
// Test vector: performance difference 25% (0.444s vs 0.539s) // Test vector: performance difference 25% (0.444s vs 0.539s)
// Advice: set tmp as 10000 // Advice: set tmp as 10000
// { dg-options "-DITERATIONS=20" { target simulator } }
#ifndef ITERATIONS
#define ITERATIONS 2000
#endif
#include <vector> #include <vector>
using std::vector; using std::vector;
...@@ -9,7 +15,7 @@ int main() ...@@ -9,7 +15,7 @@ int main()
{ {
vector <int> tmp; vector <int> tmp;
for (int j=0; j<2000; j++) for (int j=0; j<ITERATIONS; j++)
// Insert more than default item // Insert more than default item
for (int i=0; i<10000; i++) { for (int i=0; i<10000; i++) {
tmp.push_back(i); tmp.push_back(i);
......
// 2006-07-15 Paolo Carlini <pcarlini@suse.de> // 2006-07-15 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2006, 2009 Free Software Foundation // Copyright (C) 2006, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
// with this library; see the file COPYING3. If not see // with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>. // <http://www.gnu.org/licenses/>.
// { dg-options "-DMAX_SIZE=5000" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 5000000
#endif
#include <valarray> #include <valarray>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
...@@ -25,7 +31,7 @@ void test01() ...@@ -25,7 +31,7 @@ void test01()
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const std::valarray<int> v1(1, 5000000); const std::valarray<int> v1(1, MAX_SIZE);
const std::valarray<int> v2 = v1.shift(1); const std::valarray<int> v2 = v1.shift(1);
VERIFY( v2.size() == v1.size() ); VERIFY( v2.size() == v1.size() );
......
// 2005-07-22 Paolo Carlini <pcarlini@suse.de> // 2005-07-22 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation // Copyright (C) 2005, 2006, 2007, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
// 27.6.1.2.3 basic_istream::operator>> // 27.6.1.2.3 basic_istream::operator>>
// { dg-options "-DMAX_SIZE=466" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 666
#endif
#include <istream> #include <istream>
#include <string> #include <string>
#include <fstream> #include <fstream>
...@@ -70,7 +76,7 @@ void test01() ...@@ -70,7 +76,7 @@ void test01()
const char filename[] = "inserters_extractors-4.txt"; const char filename[] = "inserters_extractors-4.txt";
const unsigned nchunks = 10; const unsigned nchunks = 10;
const wstring data = prepare(666, nchunks); const wstring data = prepare(MAX_SIZE, nchunks);
wofstream ofstrm; wofstream ofstrm;
ofstrm.open(filename); ofstrm.open(filename);
......
// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation // Copyright (C) 2004, 2005, 2006, 2007, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
// 27.6.1.3 unformatted input functions // 27.6.1.3 unformatted input functions
// { dg-options "-DMAX_LENGTH=7" { target simulator } }
#ifndef MAX_LENGTH
#define MAX_LENGTH 777
#endif
#include <istream> #include <istream>
#include <string> #include <string>
#include <fstream> #include <fstream>
...@@ -68,7 +74,7 @@ void test01() ...@@ -68,7 +74,7 @@ void test01()
const wchar_t delim = L'|'; const wchar_t delim = L'|';
const unsigned nchunks = 10; const unsigned nchunks = 10;
const wstring data = prepare(777, nchunks, delim); const wstring data = prepare(MAX_LENGTH, nchunks, delim);
wofstream ofstrm; wofstream ofstrm;
ofstrm.open(filename); ofstrm.open(filename);
......
// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation // Copyright (C) 2004, 2005, 2006, 2007, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
// 27.6.1.3 unformatted input functions // 27.6.1.3 unformatted input functions
// { dg-options "-DMAX_SIZE=355" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 555
#endif
#include <istream> #include <istream>
#include <string> #include <string>
#include <fstream> #include <fstream>
...@@ -67,7 +73,7 @@ void test01() ...@@ -67,7 +73,7 @@ void test01()
const wchar_t delim = L'|'; const wchar_t delim = L'|';
const unsigned nchunks = 10; const unsigned nchunks = 10;
const wstring data = prepare(555, nchunks, delim); const wstring data = prepare(MAX_SIZE, nchunks, delim);
wofstream ofstrm; wofstream ofstrm;
ofstrm.open(filename); ofstrm.open(filename);
......
// 2006-07-15 Paolo Carlini <pcarlini@suse.de> // 2006-07-15 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2006, 2009 Free Software Foundation // Copyright (C) 2006, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
// 27.6.2.5.4 basic_ostream character inserters // 27.6.2.5.4 basic_ostream character inserters
// { dg-options "-DMAX_SIZE=50000" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 5000000
#endif
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
...@@ -30,7 +36,7 @@ void test01() ...@@ -30,7 +36,7 @@ void test01()
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
wostringstream oss_01; wostringstream oss_01;
const string str_01(5000000, 'a'); const string str_01(MAX_SIZE, 'a');
oss_01 << str_01.c_str(); oss_01 << str_01.c_str();
......
// 2006-10-12 Paolo Carlini <pcarlini@suse.de> // 2006-10-12 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2006, 2007, 2009 Free Software Foundation // Copyright (C) 2006, 2007, 2009, 2013 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
// 27.6.2.5.4 basic_ostream character inserters // 27.6.2.5.4 basic_ostream character inserters
// { dg-options "-DMAX_SIZE=50000" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 5000000
#endif
#include <ostream> #include <ostream>
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
...@@ -32,7 +38,7 @@ void test01() ...@@ -32,7 +38,7 @@ void test01()
wostringstream oss_01; wostringstream oss_01;
const string str_01(50, 'a'); const string str_01(50, 'a');
oss_01.width(5000000); oss_01.width(MAX_SIZE);
const streamsize width = oss_01.width(); const streamsize width = oss_01.width();
oss_01 << str_01.c_str(); oss_01 << str_01.c_str();
......
// 2004-07-07 Paolo Carlini <pcarlini@suse.de> // 2004-07-07 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2004, 2009 Free Software Foundation, Inc. // Copyright (C) 2004, 2009, 2013 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
// 27.7.1.3 basic_stringbuf overridden virtual functions. // 27.7.1.3 basic_stringbuf overridden virtual functions.
// { dg-options "-DMAX_SIZE=100000" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE 10000000
#endif
#include <sstream> #include <sstream>
#include <cstdlib> #include <cstdlib>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
...@@ -51,6 +57,6 @@ test01(unsigned iter) ...@@ -51,6 +57,6 @@ test01(unsigned iter)
int main() int main()
{ {
test01(10000000); test01(MAX_SIZE);
return 0; return 0;
} }
// 2004-10-06 Paolo Carlini <pcarlini@suse.de> // 2004-10-06 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2004, 2009 Free Software Foundation, Inc. // Copyright (C) 2004, 2009, 2013 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
// 27.8.1.4 Overridden virtual functions // 27.8.1.4 Overridden virtual functions
// { dg-options "-DMAX_SIZE=4096" { target simulator } }
#ifndef MAX_SIZE
#define MAX_SIZE (1 << 18)
#endif
#include <sstream> #include <sstream>
#include <testsuite_hooks.h> #include <testsuite_hooks.h>
...@@ -27,7 +33,7 @@ void test01() ...@@ -27,7 +33,7 @@ void test01()
using namespace std; using namespace std;
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const unsigned max_size = 1 << 18; const unsigned max_size = MAX_SIZE;
static wchar_t ref[max_size]; static wchar_t ref[max_size];
wmemset(ref, L'\0', max_size); wmemset(ref, L'\0', max_size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment