Commit graph

9 commits

Author SHA1 Message Date
Carl Worth
ef3e13337e cairo-perf-diff: Use median not minimum to report differences
Ideally, the minimum value would indicate the best possible performance,
but I've encountered situations where a bogus minimum value gets lodged
into the cached results for some reason, (and yet doesn't also get
discarded as an outlier). The downside of that situation is that running
more iterations never changes the result, so it's hard to fix the problem,
(resulting in cairo-perf-diff feeling just plain broken as more runs
change nothing).

So let's try using the median time instead.
2007-04-13 13:36:49 -07:00
Kalle Vahlman
2f6d184e66 Add --use-ms option to cairo-perf-diff-files
This allows for comparing perf files generation on different hardware
platforms, (since the ticks can be very different on different hardware).
2007-01-19 16:47:31 -08:00
M Joonas Pihlaja
8354906381 Make UTF-8 output from cairo-perf-diff-files optional
This patch adds options to disable the UTF-8 change bars and replace
them with ASCII '*' gfx. The motivation is that UTF-8 really does some
damage to some terminals, and some always forget to pipe stuff through
a pager to make it safe. The new options for cairo-perf-diff-files are:

	--no-utf
	--no-bars
2007-01-19 16:47:31 -08:00
M Joonas Pihlaja
4057a98f88 cairo-perf-diff-files: Don't segfault reading cooked perf reports.
Fixes cairo-perf-diff-files for non-raw cairo-perf reports.  Similar
to the patch on the mailing list, only applied to the caller of
_cairo_stats_compute():

http://lists.freedesktop.org/archives/cairo/2006-December/008720.html
2006-12-05 06:02:45 +02:00
Dan Amelang
3dbe468fd6 [perf] Provide watered-down implementations of getline and strndup for
building on non-GNU toolchains.
2006-12-01 14:12:16 -08:00
Carl Worth
439bf81e56 Fix broken size calculation for xrealloc
Another one of those "untested code == broken code" situations.
2006-11-10 10:00:31 -08:00
Carl Worth
6d5df0e3e2 cairo-perf-diff-files: Add support for diffing "raw" files from "cairo-perf -r" 2006-11-08 06:07:01 -08:00
Carl Worth
b717e98777 cairo-perf: Change outlier elimination and report minimum times.
Instead of just discarding the worst 15% of the results, we now
do IQR-based detection and elimination of outliers. Also, instead
of reporting mean times we now report minimum and median times.
We still do compute the mean and standard deviation for the
detection of when results seem stable for early bailout. And we
do still report the standard deviation.

A statistician might complain that it looks funny to report the
median and the standard deviation together, (instead of median
and average absolute deviation from the median, say), but I liked
the standard deviation since it is always larger, so it might
ensure better separatation if we use it to determine when two
sets of results are sufficiently different to be interesting.
2006-11-02 12:21:26 -08:00
Carl Worth
a9f51c2973 Add new cairo-perf-diff for finding the performance difference between any 2 revisions.
The old cairo-perf-diff is now named cairo-perf-diff-files, but
the new one calls out to it and can still be used in an identical
way.

The new cairo-perf-diff can also be used to see what the performance
impact of a single commit is like so:

	cairo-perf-diff HEAD

or between two commits:

	cairo-perf-diff 1.2.4 HEAD

The script is careful to always run the latest cairo-perf program
even when testing old versions of the library. Also, the output
from any given performance run is cached so it gets less painful
to run as the cache gets primed (the cache is in .perf next to
.git).

The script is still a bit fragile in spots. In particular it depends
on cairo-perf being built in advance but doesn't do anythin to ensure
that happens.
2006-10-25 17:15:22 -07:00
Renamed from perf/cairo-perf-diff.c (Browse further)