| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
{ cmd-list; } seems to literally be the required syntax. Blanks and
';' are both mandatory.
|
| |
|
|
|
|
|
| |
In preparation to creating a new hub to control performance measuring
and reporting, move the current cairo-perf out of the way.
|
|
|
|
|
| |
Crude support to detect when we have cairo-perf-diff-files in the local
directory which is not srcdir.
|
|
|
|
|
| |
Redirecting all output was causing the build messages to be entangled with
the Performance Change html.
|
| |
|
| |
|
| |
|
|
|
|
| |
Only as a --trace option for now.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Avoid a warning by ensuring that the two strings in the equality check are
not empty.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Remove the use of pixman as part of the perf id as pixman is no longer
an integral component of cairo.
|
| |
|
|
|
|
|
| |
Apparently --force and --html have been broken since the attempt
to address --help in ef5611df6c6bc8d9c6877af3a59c66fa6fc5c13a .
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Makes it was possible to run cairo-perf-diff with different
configurations, eg with quartz enabled.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
whatever was in the old checkout
|
|
|
|
| |
containing .git
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
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.
|