]>
git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gprofng/testsuite/gprofng.display/synprog/so_syn.c
1 /* Copyright (C) 2021-2024 Free Software Foundation, Inc.
4 This file is part of GNU Binutils.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, 51 Franklin Street - Fifth Floor, Boston,
19 MA 02110-1301, USA. */
23 #include "stopwatch.h"
25 static void so_burncpu ();
30 wlog ("start of so_cputime", NULL
);
32 /* put a memory leak in here */
35 fprintf (stderr
, "so_burncpu @ %p\n", so_burncpu
);
38 wlog ("end of so_cputime", NULL
);
42 void so_init () __attribute__ ((constructor
));
47 fprintf (stderr
, "so_init executed\n");
50 /* so_burncpu - loop to use a bunch of user time */
54 hrtime_t start
= gethrtime ();
55 hrtime_t vstart
= gethrvtime ();
56 volatile float x
= 0.; /* temp variable for f.p. calculation */
61 for (int j
= 0; j
< 100000; j
++)
65 while (start
+ testtime
* 1e9
> gethrtime ());
67 fprintf (stderr
, " Performed %lld while-loop iterations\n", count
);
68 whrvlog (gethrtime () - start
, gethrvtime () - vstart
, "so_burncpu", NULL
);