Commit graph

20 commits

Author SHA1 Message Date
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
94759a14da perf/paint: Use loops for sources and operators rather than open coding.
This looks a bit more complicated for now, but will
scaled much better to provide complete coverage as
we extend the cases covered.
2006-10-04 17:14:11 -07:00
Carl Worth
37bc39d82c perf/paint: Dramatically simplify now that we don't need one callback per run.
This commit begins to show the benefits of the reorganization
from the last few commits. Specifically, we don't need a callback
for every run anymore, and now that the cairo_t* is available to
the paint entry function and the size changes only on the outer
loop, (rather than inside cairo_perf_run), there's no need for
the ugly, static cache for the source surface.
2006-10-04 17:14:11 -07:00
Carl Worth
d0aae4dbcf perf: Make cairo_t* available to perf functions 2006-10-04 17:14:11 -07:00
Carl Worth
251bed8640 perf/paint: Make all sizes use a consistent number of iterations
This effectively reverts the change made in:

	3c407aa80a

The justification is that we want to be able to see the
trends of increasing the image size while keeping the test
the same. But changing the number of iterations in a size-
specific way interferes with that. Also, the standard deviation
is almost always better this way, (though it now varies more
by size).

And as a bonus, the total time required to run the suite is now
less.
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
3c407aa80a perf-paint: Spend more iterations on smaller sizes to balance testing.
The values here are chosen to try to equalize the standard deviation
of the various tests.
2006-09-06 00:53:52 -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
Benjamin Otte
df8cc10073 perf: Make cairo_perf_timer structure private. Make timer functions void. 2006-09-05 22:48:38 -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
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
578b74473d perf: More consistency improvements for names.
Rename bench_timer_t to cairo_perf_timer_t.
Rename PERF_LOOP macros to CAIRO_PERF_LOOP
Rename DECL_PERF_FUNC to CAIRO_PERF_DECL
2006-08-31 11:38:23 -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
739c476767 Initial hookup of Vlad's timer/alarm code 2006-08-31 10:29:52 -07:00
Carl Worth
e153c55dff perf: Add initial skeleton of performance monitoring suite 2006-08-31 07:19:05 -07:00