]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / performance / 27_io / fstream_seek_write.cc
CommitLineData
83ffe9cd 1// Copyright (C) 2003-2023 Free Software Foundation, Inc.
ca5e1be8
BK
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
748086b7 6// Free Software Foundation; either version 3, or (at your option)
ca5e1be8
BK
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
748086b7
JJ
15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
17
c7c2e831 18#include <unistd.h>
ca5e1be8 19#include <fstream>
ce4f8c6b 20#include <testsuite_performance.h>
ca5e1be8
BK
21
22// libstdc++/10672
23int main()
24{
25 using namespace std;
aecf642c 26 using namespace __gnu_test;
ce4f8c6b
BK
27
28 time_counter time;
29 resource_counter resource;
30 const int iterations = 300000;
31
ca5e1be8
BK
32 fstream s("tmp_perf_seek", ios::binary | ios::in | ios::out | ios::trunc);
33 if (s.good())
34 {
ce4f8c6b
BK
35 start_counters(time, resource);
36 for (int i = 0; i < iterations; i++)
ca5e1be8
BK
37 {
38 s.seekp(0);
39 s.write((char *) & i, sizeof(int));
40 s.seekp(sizeof(int));
41 s.write((char *) & i, sizeof(int));
42 }
ce4f8c6b
BK
43 stop_counters(time, resource);
44 report_performance(__FILE__, "", time, resource);
ca5e1be8 45 }
ce4f8c6b 46
ac3d7b44 47 unlink("tmp_perf_seek");
ca5e1be8
BK
48 return 0;
49}