1 // Copyright (C) 2006-2018 Free Software Foundation, Inc. 2 // 3 // This file is part of the GNU ISO C++ Library. This library is free 4 // software; you can redistribute it and/or modify it under the 5 // terms of the GNU General Public License as published by the 6 // Free Software Foundation; either version 3, or (at your option) 7 // any later version. 8 9 // This library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 14 // You should have received a copy of the GNU General Public License along 15 // with this library; see the file COPYING3. If not see 16 // <http://www.gnu.org/licenses/>. 17 18 19 #include <string> 20 #include <testsuite_performance.h> 21 benchmark(long len)22void benchmark(long len) 23 { 24 using namespace std; 25 using namespace __gnu_test; 26 27 time_counter time; 28 resource_counter resource; 29 30 start_counters(time, resource); 31 string a("1"); 32 for (long i = 0; i < len; ++i) 33 { 34 string ss1(a); 35 string ss2(ss1); 36 string ss3(ss2); 37 string ss4(ss3); 38 string ss5(ss4); 39 } 40 stop_counters(time, resource); 41 42 report_performance(__FILE__, "", time, resource); 43 clear_counters(time, resource); 44 } 45 main()46int main() 47 { 48 benchmark(1000000); 49 benchmark(10000000); 50 benchmark(100000000); 51 return 0; 52 } 53