summaryrefslogtreecommitdiff
path: root/perf/cairo-perf-print.c
diff options
context:
space:
mode:
Diffstat (limited to 'perf/cairo-perf-print.c')
-rw-r--r--perf/cairo-perf-print.c139
1 files changed, 0 insertions, 139 deletions
diff --git a/perf/cairo-perf-print.c b/perf/cairo-perf-print.c
deleted file mode 100644
index d7ae1311e..000000000
--- a/perf/cairo-perf-print.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- * Copyright © 2009 Chris Wilson
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of the
- * copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Authors: Carl Worth <cworth@cworth.org>
- * Chris Wilson <chris@chris-wilson.co.uk>
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "cairo-perf.h"
-#include "cairo-stats.h"
-
-#include <stdio.h>
-
-#if HAVE_UNISTD_H && HAVE_SYS_IOCTL_H
-#define USE_TERMINAL_SIZE 1
-#else
-#define USE_TERMINAL_SIZE 0
-#endif
-
-#if USE_TERMINAL_SIZE
-#include <unistd.h>
-#include <sys/ioctl.h>
-#endif
-
-static void
-report_print (const cairo_perf_report_t *report,
- int show_histogram)
-{
- const test_report_t *test;
- cairo_histogram_t h;
-
- if (show_histogram) {
- int num_rows = 23;
- int num_cols = 80;
-
-#if USE_TERMINAL_SIZE
- int fd = fileno(stdout);
- if (isatty(fd)) {
- struct winsize ws;
-
- if(ioctl(fd, TIOCGWINSZ, &ws) == 0 ) {
- num_rows = ws.ws_row - 1;
- num_cols = ws.ws_col;
- }
- }
-#endif
-
- if (!_cairo_histogram_init (&h, num_cols, num_rows))
- show_histogram = 0;
- }
-
- for (test = report->tests; test->name != NULL; test++) {
- if (test->stats.iterations == 0)
- continue;
-
- if (show_histogram) {
- const cairo_time_t *values;
- int num_values;
-
- if (show_histogram > 1) {
- values = test->stats.values;
- num_values = test->stats.iterations;
- } else {
- values = test->samples;
- num_values = test->samples_count;
- }
-
- if (_cairo_histogram_compute (&h, values, num_values))
- _cairo_histogram_printf (&h, stdout);
- }
-
- if (test->size) {
- printf ("%5s-%-4s %26s-%-3d ",
- test->backend, test->content,
- test->name, test->size);
- } else {
- printf ("%5s %26s ", test->backend, test->name);
- }
- printf("%6.2f %4.2f%% (%d/%d)\n",
- test->stats.median_ticks / test->stats.ticks_per_ms,
- test->stats.std_dev * 100,
- test->stats.iterations, test->samples_count);
- }
-
- if (show_histogram)
- _cairo_histogram_fini (&h);
-}
-
-int
-main (int argc,
- const char *argv[])
-{
- cairo_bool_t show_histogram = 0;
- int i;
-
- for (i = 1; i < argc; i++ ) {
- cairo_perf_report_t report;
-
- if (strcmp(argv[i], "--histogram") == 0) {
- show_histogram = 1;
- continue;
- }
-
- if (strcmp(argv[i], "--short-histogram") == 0) {
- show_histogram = 2;
- continue;
- }
-
- cairo_perf_report_load (&report, argv[i], i, NULL);
- report_print (&report, show_histogram);
- }
-
- return 0;
-}