{
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++)
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",
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;
}