jit.dg/test-benchmark.c: add a summary of timings
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 6 Aug 2015 19:05:52 +0000 (19:05 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Thu, 6 Aug 2015 19:05:52 +0000 (19:05 +0000)
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

gcc/testsuite/ChangeLog
gcc/testsuite/jit.dg/test-benchmark.c

index 0d4937c3b54fe87fbc6af083ca432702220d6aec..66d57bb6aac6d615dbd64e7bc774c47c0cc9d5de 100644 (file)
@@ -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.
index 4952fff07b537a2100697430190fe402bb8b2a05..ca2984cffb7c82dc5f6156b3972fad4be5694fcc 100644 (file)
@@ -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;
 }