- /* CPU Frequency calibration */
- for (i = 0; i < nb_calib; i++) {
- freq += get_cpu_freq();
+static double get_bench_time(cycles_t before, cycles_t after)
+{
+ double ret;
+
+ ret = (((double)(after - before) / (g_freq / 1000.0)) / 1000000000.0);
+
+ return ret;
+}
+
+void bench_init(void)
+{
+ open_logs();
+ if (g_freq == 0) {
+ g_freq = calibrate_cpu_freq();
+ //fprintf(fp, "CPU frequency %f Ghz\n\n", g_freq);
+ }
+}
+
+void bench_close(void)
+{
+ close_logs();
+ printf("Benchmark results in %s\n", RESULTS_FILE_NAME);
+}
+
+double bench_get_create_session(void)
+{
+ if ((time_create_session_start == 0) &&
+ (time_create_session_end == 0)) {
+ fprintf(fp, "NO DATA\n");
+ return 0;
+ }
+
+ return get_bench_time(time_create_session_start, time_create_session_end);
+}
+
+double bench_get_destroy_session(void)
+{
+ if ((time_destroy_session_start == 0) &&
+ (time_destroy_session_end == 0)) {
+ fprintf(fp, "NO DATA\n");
+ return 0;