コード例 #1
0
static void
test_diff_print (test_diff_t		     *diff,
		 double 		      max_change,
		 cairo_perf_report_options_t *options)
{
    int i;
    double test_time;
    double change;

    if (diff->tests[0]->size != 0) {
	printf ("(%s, size: %d)\n",
		diff->tests[0]->name,
		diff->tests[0]->size);
    } else {
	printf ("(%s)\n", diff->tests[0]->name);
    }

    for (i = 0; i < diff->num_tests; i++) {
	test_time = diff->tests[i]->stats.min_ticks;
	test_time /= diff->tests[i]->stats.ticks_per_ms;
	change = diff->max / test_time;
	printf ("%8s-%s-%s\t%6.2f: %5.2fx ",
		diff->tests[i]->backend,
		diff->tests[i]->content,
		diff->tests[i]->configuration,
		diff->tests[i]->stats.min_ticks / diff->tests[i]->stats.ticks_per_ms,
		change);

	if (options->print_change_bars)
	    print_change_bar (change, max_change, options->use_utf);
    }

    printf("\n");
}
コード例 #2
0
static void
test_diff_print_binary (test_diff_t			*diff,
			double				 max_change,
			cairo_perf_report_options_t	*options)
{
    printf ("%5s-%-4s %26s-%-3d  %6.2f (%.2f %4.2f%%) -> %6.2f (%.2f %4.2f%%): %5.2fx ",
	    diff->tests[0]->backend, diff->tests[0]->content,
	    diff->tests[0]->name, diff->tests[0]->size,
	    diff->tests[0]->stats.min_ticks / diff->tests[0]->stats.ticks_per_ms,
	    diff->tests[0]->stats.median_ticks / diff->tests[0]->stats.ticks_per_ms,
	    diff->tests[0]->stats.std_dev * 100,
	    diff->tests[1]->stats.min_ticks / diff->tests[1]->stats.ticks_per_ms,
	    diff->tests[1]->stats.median_ticks / diff->tests[1]->stats.ticks_per_ms,
	    diff->tests[1]->stats.std_dev * 100,
	    fabs (diff->change));

    if (diff->change > 1.0)
	printf ("speedup\n");
    else
	printf ("slowdown\n");

    if (options->print_change_bars)
	print_change_bar (fabs (diff->change), max_change,
			  options->use_utf);
}