9#define NUM_ITERS 1000000
26 long long *
elapsed_cyc, total_cyc = 0, uniq_cyc = 0, diff_cyc = 0;
28 double min, max, average, std,
tmp;
61 fprintf(
stderr,
"Error! Negative elapsed time\n");
68 min = ( double ) diff_cyc;
70 max = ( double ) diff_cyc;
73 total_cyc += diff_cyc;
76 average = ( double ) total_cyc / (
NUM_ITERS - 1 );
87 printf(
"%s: min %.3lf max %.3lf \n",
func_name[flag],
min, max );
88 printf(
" average %.3lf std %.3lf\n", average, std );
91 printf(
"%s : %7.3f <%7.3f\n",
func_name[flag],
92 (
double ) total_cyc / (
double ) (
NUM_ITERS ),
93 (
double ) total_cyc / (
double ) uniq_cyc );
94 }
else if ( uniq_cyc ) {
95 printf(
"%s : %7.3f %7.3f\n",
func_name[flag],
96 (
double ) total_cyc / (
double ) (
NUM_ITERS ),
97 (
double ) total_cyc / (
double ) uniq_cyc );
99 printf(
"%s : %7.3f >%7.3f\n",
func_name[flag],
100 (
double ) total_cyc / (
double ) (
NUM_ITERS ),
101 (
double ) total_cyc );
get real time counter value in clock cycles Returns the total real time passed since some arbitrary s...
get real time counter value in microseconds
get virtual time counter value in clock cycles
get virtual time counter values in microseconds
static int clock_res_check(int flag, int quiet)
static char * func_name[]
#define CLOCKCORE_VIRT_USEC_FAIL
#define CLOCKCORE_VIRT_CYC_FAIL
Return codes and api definitions.