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
b866069210
perf: Handle 32-bit wraparound of performance counter
2006-09-06 05:07:08 -07:00
Carl Worth
b64645c567
perf: Fix cairo_perf_ticks_per_second to avoid wraparound
2006-09-06 03:32:07 -07:00
Carl Worth
d9082d59db
Prefer CPU performance counters (if available) over gettimeofday.
...
I've seen this improve the std. deviation often by a factor of 2
and occasionally up to a factor of 10. It is sometimes not much
better, but never seems to be appreciably worse compared to using
gettimeofday.
Thanks to David A. Schleef <ds@schleef.org> and his liboil for
the implementation.
2006-09-06 01:37:13 -07:00
Carl Worth
1085d99bc3
perf/README: Update due to cairo_perf_timer API changes
2006-09-06 00:56:56 -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
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
9f51fcc888
perf: Fold cairo-perf-timer.h into cairo-perf.h
2006-09-05 22:56:00 -07:00
Carl Worth
499a3a7c47
perf: Remove unused alarm functions
2006-09-05 22:52:00 -07:00
Benjamin Otte
df8cc10073
perf: Make cairo_perf_timer structure private. Make timer functions void.
2006-09-05 22:48:38 -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
0a1aef157e
perf/README: Fix typo
2006-08-31 18:25:04 -07:00
Carl Worth
91d5541705
perf: Add README file explaining how to add a new test
2006-08-31 18:11:25 -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
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
cf75da4842
perf: Rename timer-alarm files to cairo-perf-timer
2006-08-31 11:38:23 -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
a60ed68dae
perf: Remove unused util.c
2006-08-31 10:33:24 -07:00
Carl Worth
739c476767
Initial hookup of Vlad's timer/alarm code
2006-08-31 10:29:52 -07:00
Vladimir Vukicevic
3d279da621
Add useful pieces from Vladimir's cairo-bench
2006-08-31 10:28:06 -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