aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2015-08-06 19:05:52 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2015-08-06 19:05:52 +0000
commit0eb6f71c48a4ee9d0c1dc85e31d8c135eb306d98 (patch)
tree5de486c8a293c9a154ba7cfcb4efdd1208d0ab2a /gcc
parent00ebbcbc5990f11d0b2f5c0385b32cd587d4a4ac (diff)
downloadgcc-0eb6f71c48a4ee9d0c1dc85e31d8c135eb306d98.zip
gcc-0eb6f71c48a4ee9d0c1dc85e31d8c135eb306d98.tar.gz
gcc-0eb6f71c48a4ee9d0c1dc85e31d8c135eb306d98.tar.bz2
jit.dg/test-benchmark.c: add a summary of timings
gcc/testsuite/ChangeLog: * jit.dg/test-benchmark.c (main): Record all elapsed times at each optimization level, and print a summary at the end. From-SVN: r226697
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/jit.dg/test-benchmark.c18
2 files changed, 20 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d4937c..66d57bb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-06 David Malcolm <dmalcolm@redhat.com>
+
+ * jit.dg/test-benchmark.c (main): Record all elapsed times at each
+ optimization level, and print a summary at the end.
+
2015-08-06 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/tlsdesc_hoist.c: New testcase.
diff --git a/gcc/testsuite/jit.dg/test-benchmark.c b/gcc/testsuite/jit.dg/test-benchmark.c
index 4952fff..ca2984c 100644
--- a/gcc/testsuite/jit.dg/test-benchmark.c
+++ b/gcc/testsuite/jit.dg/test-benchmark.c
@@ -222,13 +222,14 @@ main (int argc, char **argv)
{
int opt_level;
int num_iterations = 100;
+ double elapsed_time[4];
ticks_to_msec = TICKS_TO_MSEC;
for (opt_level = 0; opt_level < 4; opt_level++)
{
int i;
- double start_time, end_time, elapsed_time;
+ double start_time, end_time;
start_time = get_wallclock_time ();
gcc_jit_timer *timer = gcc_jit_timer_new ();
for (i = 1; i <= num_iterations; i++)
@@ -240,7 +241,7 @@ main (int argc, char **argv)
test_jit (argv[0], opt_level, timer);
}
end_time = get_wallclock_time ();
- elapsed_time = end_time - start_time;
+ elapsed_time[opt_level] = end_time - start_time;
gcc_jit_timer_print (timer, stderr);
gcc_jit_timer_release (timer);
pass ("%s: survived %i iterations at optlevel %i",
@@ -248,9 +249,20 @@ main (int argc, char **argv)
note (("%s: %i iterations at optlevel %i"
" took a total of %.3fs (%.3fs per iteration)"),
argv[0], num_iterations, opt_level,
- elapsed_time, elapsed_time / num_iterations);
+ elapsed_time[opt_level],
+ elapsed_time[opt_level] / num_iterations);
}
+
totals ();
+ /* Print a summary. */
+ printf ("%s: %i iterations: time taken (lower is better)\n",
+ argv[0], num_iterations);
+ for (opt_level = 0; opt_level < 4; opt_level++)
+ printf ("optlevel %i: %.3fs (%.3fs per iteration)\n",
+ opt_level,
+ elapsed_time[opt_level],
+ elapsed_time[opt_level] / num_iterations);
+
return 0;
}