This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Determine the iteration count based on wallclock instead of user+system time.
- From: Marcin at sourceware dot org, Koś at sourceware dot org;cielnicki <mwk at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 18 Feb 2016 19:26:24 -0000
- Subject: [binutils-gdb] Determine the iteration count based on wallclock instead of user+system time.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fbb7bcbeaad3aebab8935cb4ee5706017b3b9e71
commit fbb7bcbeaad3aebab8935cb4ee5706017b3b9e71
Author: Wei-cheng Wang <cole945@gmail.com>
Date: Fri Aug 21 01:32:18 2015 +0800
Determine the iteration count based on wallclock instead of user+system time.
gdb/testsuite/ChangeLog:
2016-02-18 Wei-cheng Wang <cole945@gmail.com>
* gdb.trace/tspeed.c (myclock): Return wallclock instead of
user+system time.
(trace_speed_test): Determine the iteration count for a time
between 15..30 seconds.
Diff:
---
gdb/testsuite/ChangeLog | 7 +++++++
gdb/testsuite/gdb.trace/tspeed.c | 16 ++++++----------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index cedbb75..31f8d38 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2016-02-18 Wei-cheng Wang <cole945@gmail.com>
+
+ * gdb.trace/tspeed.c (myclock): Return wallclock instead of
+ user+system time.
+ (trace_speed_test): Determine the iteration count for a time
+ between 15..30 seconds.
+
2016-02-18 Walfred Tedeschi <walfred.tedeschi@intel.com>
* gdb.arch/i386-mpx-sigsegv.c: New file.
diff --git a/gdb/testsuite/gdb.trace/tspeed.c b/gdb/testsuite/gdb.trace/tspeed.c
index a379411..5746104 100644
--- a/gdb/testsuite/gdb.trace/tspeed.c
+++ b/gdb/testsuite/gdb.trace/tspeed.c
@@ -56,13 +56,9 @@ int nspertp = 0;
unsigned long long
myclock ()
{
- struct timeval tm, tm2;
- struct rusage ru;
- getrusage (RUSAGE_SELF, &ru);
- tm = ru.ru_utime;
- tm2 = ru.ru_stime;
- return (((unsigned long long) tm.tv_sec) * 1000000) + tm.tv_usec
- + (((unsigned long long) tm2.tv_sec) * 1000000) + tm2.tv_usec;
+ struct timeval tm;
+ gettimeofday (&tm, NULL);
+ return (((unsigned long long) tm.tv_sec) * 1000000) + tm.tv_usec;
}
int
@@ -162,9 +158,9 @@ trace_speed_test (void)
return -1;
if (idelta > mindelta
- /* Total test time should be between 2 and 5 seconds. */
- && (total1 + total2) > (2 * 1000000)
- && (total1 + total2) < (5 * 1000000))
+ /* Total test time should be between 15 and 30 seconds. */
+ && (total1 + total2) > (15 * 1000000)
+ && (total1 + total2) < (30 * 1000000))
{
nsdelta = (((unsigned long long) idelta) * 1000) / iters;
printf ("Second loop took %d ns longer per iter than first\n", nsdelta);