Commit graph

81 commits

Author SHA1 Message Date
Carl Worth
bda77f505c perf: Bail if cairo_status returns non-success at the end of a test. 2006-10-04 17:14:12 -07:00
Carl Worth
fb61fe82d3 perf: Add stroke and fill tests 2006-10-04 17:14:12 -07:00
Carl Worth
d52256df7c perf: Move iteration over sources and operators from paint to new cairo-perf-cover
This will finally allow us to very easily add lots of other
tests that will similarly involve iterating over the various
sources and operators of interest.
2006-10-04 17:14:12 -07:00
Carl Worth
7d5fb687af perf/paint: Test image surface as well as similar surface sources 2006-10-04 17:14:12 -07:00
Carl Worth
d0aae4dbcf perf: Make cairo_t* available to perf functions 2006-10-04 17:14:11 -07:00
Carl Worth
4406ab1b9e perf: Move the per-size loop from cairo_perf_run to main
The motivation here is to have the cairo_t context available
to the perf funcs before they call into cairo_perf_run, (so
that they can do one-time setup of source etc. for several
runs).
2006-10-04 17:14:11 -07:00
Carl Worth
3c19a6413c perf: Rework the suite to allow multiple performance tests to be defined in one file. 2006-09-29 16:42:44 -07:00
Vladimir Vukicevic
8a9b99e596 [perf] Change perf output format, report times in ms, add a few paint tests
This changes the perf test output format to be a little more human friendly,
reporting times in ms instead of seconds.  It also adds a test number
that could be used in the future for specifying an explicit test to run
(test number, target surface, test name, and size uniquiely identify
a test).

Also adds a few paint tests.
2006-09-19 12:19:20 -07:00
Carl Worth
cb6aed0a81 perf: Make xlib testing wait for the X server to finish rendering.
We do this by adding a new cairo_perf_timer_set_finalize function and
in the case of the xlib backend passing a callback to that function
that does a 1x1 XGetImage.
2006-09-11 10:59:38 -07:00
Carl Worth
78b8555c9a perf: Don't skip COLOR tests 2006-09-09 17:32:50 -07:00
Carl Worth
aeca64f6cd boilerplate: Allow targets to distinguish between test and perf.
Add a new cairo_boilerplate_mode_t so that the boilerplate targets can
do slightly different things if being tested for correctness vs. being
run for performance.
2006-09-09 17:32:50 -07:00
Carl Worth
195fd5cde6 boilerplate: Rename cairo_test_target_t to cairo_boilerplate_target_t 2006-09-09 16:04:51 -07:00
Carl Worth
a7844338da perf: Add tessellate test case (in -16, -64, and -256 varieties) 2006-09-06 05:17:01 -07:00
Carl Worth
221c02098f perf: Allow CAIRO_TEST_TARGET to limit targets tested.
Also, don't print the image size for a test if there is only one.
2006-09-06 05:09:19 -07:00
Carl Worth
3519887f18 perf: Move sorting and discarding outside of compute_stats. Adjust discard to slowest 15% only. 2006-09-06 00:52:06 -07:00
Carl Worth
d31037e421 perf: Report times not rates. Interface in integers not doubles. 2006-09-06 00:15:49 -07:00
Carl Worth
9d0d38e0a0 perf: Rename functions in line with cairo's naming guidelines 2006-09-05 22:58:33 -07:00
Carl Worth
499a3a7c47 perf: Remove unused alarm functions 2006-09-05 22:52:00 -07:00
Benjamin Otte
1bb6f9fb10 perf: Add yield and fix double comparison
- add a yield () function that's called before every test. It reduced the std
dev slightly for me
- fix double comparisons to not just compare the integer part
2006-09-05 22:36:56 -07:00
Carl Worth
2fa0228d63 Two big improvements to bring the std. deviation down to where we want it.
1. Remove all the alarm/signal code, which just isn't doing what we want for some reason.
   Instead, for now we'll simply run for a fixed number of iterations, (perhaps we
   can tune that per test later).

2. Before computing mean and stdandard deviation of runs, sort them all and discard the
   top and bottom 20% of the values.

Now the standard deviation for the paint test is generally 2% or less.
2006-08-31 17:43:40 -07:00
Carl Worth
6ae6d91c0c perf: Switch from alarm to setitimer for more fine-grained control of timers 2006-08-31 14:08:43 -07:00
Carl Worth
19a5b8b9b5 perf: Run for multiple iterations and print std. deviation 2006-08-31 13:22:17 -07:00
Carl Worth
689e9c446e perf: Add indication of content to output 2006-08-31 12:34:21 -07:00
Carl Worth
7917e1201f perf: Fix typo in backend blackballing so that image tests now run 2006-08-31 11:53:16 -07:00
Carl Worth
0c741675e1 Make perf interface return a rate. Start print target and test names. 2006-08-31 11:51:28 -07:00
Carl Worth
fd13e874a7 perf: Drop separate setup function from each test case.
We are already doing loop measurement internally, so each function
can already do any setup it needs without it affecting the measurement.
2006-08-31 11:42:51 -07:00
Carl Worth
7f6e901a23 perf: More simplification of PERF_LOOP macros.
Here we drop both the start_timing and stop_timing functions,
foliding their contents into main, PERF_LOOP_INIT and
PERF_LOOP_FINI.
2006-08-31 11:19:48 -07:00
Carl Worth
b9f629d542 perf: Don't require a separate counter from the timer for perf loops. 2006-08-31 11:02:20 -07:00
Carl Worth
13bcba68ae perf: Collapse timing.[ch] down into cairo-perf.[ch] 2006-08-31 10:41:00 -07:00
Carl Worth
2c16aa6304 perf: Don't measure meta-surface-backed surface types. 2006-08-31 08:53:58 -07:00
Carl Worth
e153c55dff perf: Add initial skeleton of performance monitoring suite 2006-08-31 07:19:05 -07:00