Commit graph

36 commits

Author SHA1 Message Date
Andrea Canciani
061ea78ad2 perf: Correct cairo-perf-diff syntax
{ cmd-list; } seems to literally be the required syntax. Blanks and
';' are both mandatory.
2010-04-10 18:25:25 +02:00
Chris Wilson
f5f6431787 perf: Switch between micro and trace benchmarks for cairo-perf-diff 2010-04-07 22:50:15 +01:00
Chris Wilson
ccf84a8883 [perf] Reorganise cairo-perf
In preparation to creating a new hub to control performance measuring
and reporting, move the current cairo-perf out of the way.
2009-09-15 18:19:08 +01:00
Chris Wilson
e79a9a87c3 [perf] Support objdir!=srcdir in cairo-perf-diff
Crude support to detect when we have cairo-perf-diff-files in the local
directory which is not srcdir.
2009-08-26 23:51:43 +01:00
Chris Wilson
0c4692a1d0 [perf] Specify html file on cmdline instead of redirecting all output
Redirecting all output was causing the build messages to be entangled with
the Performance Change html.
2009-07-24 10:44:03 +01:00
Chris Wilson
fd9df4978d [perf] Don't override CAIRO_TRACE_DIR in cairo-perf-diff 2009-07-21 20:53:14 +01:00
Chris Wilson
2dd97ae59c [perf] Include trace comparison in html output 2009-07-20 22:20:01 +01:00
Chris Wilson
7c160dea54 [perf] Unbreak cairo-perf-diff builder 2009-07-01 10:12:50 +01:00
Chris Wilson
3d88f99668 [perf] Enable cairo-perf-trace in cairo-perf-diff
Only as a --trace option for now.
2009-07-01 09:57:56 +01:00
Chris Wilson
d2244053dc [perf] Force rebuild if make fails
The build system has a singular failure whereby if a backend disappears
between on compile and the next, automake will fail to reconstruct the
Makefiles - resulting in a broken build. Attempt to fix this by removing
the build dir and recloning, which should work for any corrupt caches but
obviously will fail again at a true build failure.
2009-06-21 10:13:31 +01:00
Chris Wilson
0c0f4862c5 [perf-diff] Fix cairo-perf-diff for git 1.6
Since git 1.6 the plumbing commands aren't installed in the user's
path by default.  This patch fixes cairo-perf-diff to find the
git-sh-setup command from git's lib dir.
2008-12-06 13:32:37 +02:00
Chris Wilson
f2ff794426 [perf] A crude tool to visualise performance changes across a series.
Generate a cairo-perf-diff graph for a series of commits in order to be
able to identify significant commits. Still very crude, but minimally
functional.
2008-10-19 09:36:53 +01:00
Chris Wilson
8f56727986 [perf] Beware $OS may not be set.
Avoid a warning by ensuring that the two strings in the equality check are
not empty.
2008-08-17 11:39:56 +01:00
Frederic Plourde
5284f8cab4 [win32] Make cairo-perf-diff run on win32 2008-07-17 13:56:22 -07:00
Behdad Esfahbod
e6166f7b44 Convert bash scripts to regular sh ones for greater portability 2007-12-01 04:19:39 -05:00
Carl Worth
0d932f43fe Explicitly call bash for bash-specific scripts
Thanks to Solaris-using Brian Cameron for pointing out that our
shell scripts are bash-specific. We'd be glad if someone cared to
rewrite them to not require bash, but for now let's have truth in
advertising at least.
2007-11-30 16:19:45 -08:00
Behdad Esfahbod
7ccae2de6d [perf] Make cairo-perf-diff build cairo-perf-diff-files 2007-08-28 13:46:28 -04:00
Chris Wilson
51b6cca8de [cairo-perf-diff] Remove reference to pixman.
Remove the use of pixman as part of the perf id as pixman is no longer
an integral component of cairo.
2007-08-18 00:54:30 +01:00
Carl Worth
02f753c23a Fix cairo-perf-diff to compile cairo-perf explicitly 2007-06-18 18:24:09 -07:00
Carl Worth
6035d3b47e cairo-perf-diff: Repair command-line option parsing.
Apparently --force and --html have been broken since the attempt
to address --help in ef5611df6c .
2007-04-25 16:28:14 -07:00
Carl Worth
ef5611df6c cairo-perf-diff: Fix implementation of --help
Previously only "--" would givethe usage, and not "--help"
as intended. The new approach has been tested with ash, bash,
and dash, (hopefully that's good enough).
2007-04-25 11:27:32 -07:00
Mathias Hasselmann
562bd551bc [cairo-perf-diff] Update usage screen to mention --html. 2007-03-15 12:47:41 +01:00
Mathias Hasselmann
e878f2259b Include pixman/src in cairo-perf hash 2007-03-14 21:47:39 +01:00
Mathias Hasselmann
c40be43aef Transform the output of cairo-perf-diff into HTML 2007-03-14 21:41:40 +01:00
Mathias Hasselmann
f1dd48475a Improve CPU utilization when building cairo-perf 2007-03-14 21:18:09 +01:00
Brian Ewins
22e271d687 [perf/cairo-perf-diff] Pass CAIRO_AUTOGEN_OPTIONS to autogen.
Makes it was possible to run cairo-perf-diff with different
configurations, eg with quartz enabled.
2007-01-07 18:12:40 +00:00
Carl Worth
0f7381b26e cairo-perf-diff: Run git-ls-tree from the correct directory
Before this change, cairo-perf-diff would work correctly only
if run from the top-level directory, (and if run from any other
directory it would not pull in the latest boilerplate and perf
files).
2006-11-14 15:13:58 -08:00
Carl Worth
74f5fe241e cairo-perf-diff: rsync only git-managed files from boilerplate/perf
Previously, we were using rsync to recursively copy all files
from boilerplate and perf when doing the performance tests. This
had the fatal flaw that pre-built binaries would be hard coded to
link against the cairo library from $CAIRO_DIR with an absolute
path, (due to libtool rpath stuff).

By only copying git-managed files, we only get source and the compiled
binaries (or libtool wrappers) will now be hard-coded to link against
the library under test.
2006-11-13 14:44:07 -08:00
Carl Worth
26b74049e7 cairo-perf-diff: Use rsync instead of cp to avoid some unnecessary rebuilding 2006-11-10 11:26:01 -08:00
Carl Worth
f1f189b81a cairo-perf-diff: Separate old and new build directories
With the fancy new, incremental cairo-perf-diff we don't want to keep
resetting the same working tree back and forth between the old and new
versions and rebuilding everything all over again. So use two different
build directories instead of one.

This fixes the rebuild of the library itself, but the perf stuff is still
being rebuilt, (since it's being re-copied each time).
2006-11-10 10:34:37 -08:00
Carl Worth
d9b697c46c cairo-perf-diff: Allow incremental refinement of performance results
cairo-perf-diff now accepts a -f command-line option to force it to
re-generate performance results even if something exists in the cache
already. It also now uses raw mode and appends to the cached file
rather than rewriting the results.

Finally, it also now allows a -- option on the command line and passes
all the subsequent command-line options to cairo-perf. This is handy for
limiting cairo-perf to run only on a subset of the tests of interest.
2006-11-10 10:34:35 -08:00
Carl Worth
52eb7134bd cairo-perf-diff: Use two-part hash to avoid stale data when perf suite changes.
The perf tree's sha1 is now in the cache file name, so that
if the performance suite itself ever changes then new data
will be generated rather than using stale stuff from the cache.

Also, we now use the src tree's sha1 rather than the commit's
so that commits that don't change the src directory are also
treated as identical, (which they really should be as far as
performance of the library itself is concerned).
2006-11-06 09:39:02 -08:00
Carl Worth
941b517024 cairo-perf-diff: Build and run latest cairo-perf program rather than whatever was in the old checkout 2006-11-06 09:35:10 -08:00
Carl Worth
e2ede57fbb cairo-perf-diff: Fix to still function if run from the top-level directory containing .git 2006-11-06 09:35:10 -08:00
Carl Worth
a618fd2cf9 cairo-perf-diff: Simplify git usage and just run cairo-perf that gets built with cairo revision
Many thanks to Josh Triplett for help with theses fixes:

1. Simplify the usage of git to eliminate the fragile and nasty
   stuff we were doing previously, (such as manually symlinking
   things under .git rather than just using git-clone -s).

2. Don't try running latest cairo-perf with LD_LIBRARY_PATH
   pointing to built cairo version. Apparently stupid libtool
   and its use of rpath is foiling us here. Instead just run
   whatever cairo-perf gets built as part of the source that
   gets checked out.

This second point means that cairo-perf-diff won't yet be useful
for comparing the performance of old cairo revisions that pre-date
cairo-perf. I've since been reasing and we might be able to use
--disable-rpath to the configure script to get what we want.
2006-11-02 04:45:27 -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