From d43bfb3d3d84d416294521f9504b6f6419593152 Mon Sep 17 00:00:00 2001 From: suyambulingamrm Date: Thu, 12 Jun 2014 19:41:10 +0530 Subject: Issue #88. Display percentage of improvement for cairo/skia appropriately. --- src/caskbench.cpp | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'src/caskbench.cpp') diff --git a/src/caskbench.cpp b/src/caskbench.cpp index e813363..eb5c8b8 100644 --- a/src/caskbench.cpp +++ b/src/caskbench.cpp @@ -479,6 +479,7 @@ main (int argc, char *argv[]) caskbench_options_t opt; double start_time, stop_time, run_time, run_total; double cairo_avg_time = 0.0; + double skia_avg_time = 0.0; FILE *fp = NULL; char fname[256], *end_ptr; device_config_t config; @@ -651,12 +652,29 @@ main (int argc, char *argv[]) result.iterations, result.avg_frames_per_second); - if (result.test_case_name[0] == 'c') { + if (result.test_case_name[0] == 'c') cairo_avg_time = result.avg_run_time; - } else { - double perf_improvement = perf_improvement = (cairo_avg_time - result.avg_run_time)/cairo_avg_time; - printf(" %4.2f%%", perf_improvement * 100.0); - cairo_avg_time = 0.0; + if (result.test_case_name[0] == 's') + skia_avg_time = result.avg_run_time; + + if (s%2 == 1) { + if (opt.drawing_lib != NULL) { + if ((strcmp(opt.drawing_lib, "cairo,skia") == 0)) { + double perf_improvement = (cairo_avg_time - result.avg_run_time)/cairo_avg_time; + printf(" %4.2f%%", perf_improvement * 100.0); + cairo_avg_time = 0.0; + } + else if ((strcmp(opt.drawing_lib, "skia,cairo") == 0)) { + double perf_improvement = (skia_avg_time - result.avg_run_time)/skia_avg_time; + printf(" %4.2f%%", perf_improvement * 100.0); + skia_avg_time = 0.0; + } + } + else { + double perf_improvement = (cairo_avg_time - result.avg_run_time)/cairo_avg_time; + printf(" %4.2f%%", perf_improvement * 100.0); + cairo_avg_time = 0.0; + } } printf("\n"); -- cgit v1.3.1-4-g156e