diff mbox

[committed] jit.dg/test-benchmark.c: add a summary of timings

Message ID 1438890165-64291-1-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Aug. 6, 2015, 7:42 p.m. UTC
Committed to trunk as r226697.
Backported to gcc-5-branch as r226698.

gcc/testsuite/ChangeLog:
	* jit.dg/test-benchmark.c (main): Record all elapsed times at each
	optimization level, and print a summary at the end.
---
 gcc/testsuite/jit.dg/test-benchmark.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
diff mbox

Patch

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;
 }