summaryrefslogtreecommitdiff
path: root/perf
AgeCommit message (Collapse)AuthorFilesLines
2008-10-29Remove twin perf case.Carl Worth4-53/+0
This performance test relied on the recently-removed ability to select the internal twin-based font family with a name of "cairo". Presumably, we'll want to bring this performance case back when some other means of requesting that font face is added.
2008-10-28[perf] Fix rectangular case of unaligned-clip.Chris Wilson1-6/+3
Janoos spotted that the unaligned clip actually degenerated to an empty clip due to a typo when constructing the second rectangle. Simply use a cairo_rectangle() instead.
2008-10-22Twin perf caseChris Wilson4-1/+54
2008-10-20[perf] Free images for composite-checkerChris Wilson1-1/+2
Fix memleak of the image surfaces.
2008-10-19[perf] A crude tool to visualise performance changes across a series.Chris Wilson13-478/+1862
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-08[perf] Add composite performance test.Björn Lindqvist4-0/+111
Add a new test case to Cairo for checking the performance of Cairo's equivalent to GDK's gdk_pixbuf_composite_color() operation. That is an operation that happens to be extremely useful when viewing or editing transparent images so I think it is important that it is as fast as possible.
2008-09-28[perf] Add rounded rectangle perf case.Chris Wilson5-1/+135
Add the performance test case to compare the speed of filling a rounded rectangle (one with camphered corners) as opposed to an ordinary rectangle. Since the majority of the pixels are identical, ideally the two cases would take similar times (modulo the additional overhead in the more complex path).
2008-09-25[perf-suite] Explicitly read the results of rdtsc from edx:eax.M Joonas Pihlaja1-3/+3
The =A format used to read a 64 bit result from rdtsc works on x86, but not on x86-64.
2008-09-22[build] Add Makefile.win32.commonBehdad Esfahbod1-24/+2
2008-09-11[Makefile.am.common] Unify more common rulesBehdad Esfahbod1-1/+0
2008-09-11Makefile.am cleanupBehdad Esfahbod1-4/+6
Use a common build/Makefile.am.common file.
2008-09-08[{test,perf}/Makefile.am] Define html-local target instead of htmlBehdad Esfahbod1-2/+2
Fixes automake warning.
2008-09-08[Makefile.am] Rename INCLUDES to AM_CPPFLAGSBehdad Esfahbod1-1/+1
Fixes automake warnings
2008-09-02Move _GNU_SOURCE declarations to where it's usedBehdad Esfahbod3-5/+4
Such that we don't rely on more GNU extensions accidentally.
2008-09-02Revamp the build system.Behdad Esfahbod1-0/+2
Quick summary of changes: - Move list of cairo source files out of src/Makefile.am and into src/Sources.mk, - Generate files src/Config.mk and src/Config.mk.win32 that choose the right set of source files and headers based on configured backends and features. This drastically simplifies building using other build systems. The src/Makefile.win32 file needs to be updated to reflect these changes. - Add README files to various directories, - Add toplevel HACKING file.
2008-08-19[perf] Continue testing after we fail to create a surface.Chris Wilson1-9/+4
Sometimes we cannot create a surface because it is larger than the screen. Ignore these non-fatal errors and move on to the next performance case.
2008-08-17[perf] Beware $OS may not be set.Chris Wilson1-1/+1
Avoid a warning by ensuring that the two strings in the equality check are not empty.
2008-08-17[perf] Silence trivial compiler warning.Chris Wilson1-9/+9
The compiler complained about passing a non-string literal as the format to printf, so just to sanitize the code and keep the compiler happy, add the magic "%s" format.
2008-08-13[test] Preparatory work for running under memfault.Chris Wilson1-4/+7
In order to run under memfault, the framework is first extended to handle running concurrent tests - i.e. multi-threading. (Not that this is a requirement for memfault, instead it shares a common goal of storing per-test data). To that end all the global data is moved into a per-test context and the targets are adjusted to avoid overlap on shared, global resources (such as output files and frame buffers). In order to preserve the simplicity of the standard draw routines, the context is not passed explicitly as a parameter to the routines, but is instead attached to the cairo_t via the user_data. For the masochist, to enable the tests to be run across multiple threads simply set the environment variable CAIRO_TEST_NUM_THREADS to the desired number. In the long run, we can hope the need for memfault (runtime testing of error paths) will be mitigated by static analysis. A promising candidate for this task would appear to be http://hal.cs.berkeley.edu/cil/.
2008-07-17[win32] Make cairo-perf-diff run on win32Frederic Plourde4-3/+84
2008-06-13[cairo-perf] Only allocate arrays once.Chris Wilson2-16/+17
Store the array of times on the cairo_perf_t context to avoid reallocating it for every perf-case.
2008-04-11[test] Handle TEST_CONTENT_COLOR_ALPHA_FLATTENED similar surfaces.Chris Wilson1-2/+4
Convert the boilerplate specific flattened content value to the ordinary CAIRO_CONTENT_COLOR_ALPHA for use with cairo_push_group_with_content() - otherwise cairo rightfully flags an error and the test harness decides that the similar surface is not available.
2008-02-19[perf] add tests for magnified and minified image sources.Bertram Felgenhauer1-0/+34
With this change, cairo's performance testsuite will catch performance regressions in pixman's fbFetchTransformed path.
2008-02-06Some fixes and improvements to the Win32 buildAzar@.(none)4-12/+53
2008-02-06Add several Makefile.win32 files to EXTRA_DISTCarl Worth1-0/+2
Otherwise, these files were being omitted from the tar files.
2008-01-10[test] Fixup make check for mingwChris Wilson1-4/+4
Add EXEEXT to TESTS so that mingw builds the correct target.
2007-12-20[test/*] Create new surfaces using the group target.Chris Wilson1-2/+2
cairo_get_target() returns the original surface passed to cairo_create(), and not the current destination as required when testing drawing to the same surface using multiple contexts. For completeness we also use the group target when creating similar surfaces within the tests (to check that similar surfaces of similar surfaces also work).
2007-12-01Convert bash scripts to regular sh ones for greater portabilityBehdad Esfahbod1-15/+16
2007-11-30Explicitly call bash for bash-specific scriptsCarl Worth1-1/+1
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-10-24[cairo-perf-diff-files] Only use a valid initializer for min_test.Chris Wilson1-2/+7
Do not assume that the tests[0] is a valid test, but instead scan for the first test that has a name (i.e. is not a terminator).
2007-10-23[cairo-perf-diff-files] Check for terminator before comparing tests.Chris Wilson1-7/+16
Only the name of the terminating test is set so check that the current test is not the terminator before comparing.
2007-10-20[cairo-perf] Run performance tests over similar surfaces as well.Chris Wilson1-46/+75
Immediately repeat the performance test against a similar surface to ensure that they introduce no regressions. Primarily introduced to sanity check the change to use XShmPixmaps instead of XPixmaps in the xlib backend, but it should be generally useful.
2007-10-19[Makefile.am] Fix ${top_srcdir}/libtoolChris Wilson1-2/+2
libtool exists in the top level build directory, but in a couple of places we refer to the top level source directory.
2007-09-05[test,perf] Support TARGETS_EXCLUDE make variableBehdad Esfahbod1-2/+4
2007-08-28[perf] Make cairo-perf-diff build cairo-perf-diff-filesBehdad Esfahbod1-2/+8
2007-08-24[cairo-perf] Blacklist xlib-fallback.Chris Wilson1-0/+8
Do not try and create non-Render xlib surfaces as they explicitly do not support performance testing.
2007-08-18[cairo-perf-diff] Remove reference to pixman.Chris Wilson1-2/+1
Remove the use of pixman as part of the perf id as pixman is no longer an integral component of cairo.
2007-08-06Typo fixes in README filesNis Martensen1-3/+3
2007-06-18Fix cairo-perf-diff to compile cairo-perf explicitlyCarl Worth1-1/+1
2007-06-18[perf] Add pixman_region_init_rects and use in extract_regionVladimir Vukicevic4-1/+71
Avoid O(N*N) loop in traps_extract_region by letting us hand pixman an array of rects all at once.
2007-06-09[perf] Link to librt if availableBehdad Esfahbod1-1/+2
This is needed on Solaris, but also works on Linux.
2007-05-01perf: Add $(EXTRA_PROGRAMS) to CLEANFILESCarl Worth1-0/+1
Otherwise these programs stick around and break distclean, distcheck, and hence release-publish targets.
2007-04-30[perf] Check availability before including nonstandard headersBehdad Esfahbod2-1/+7
2007-04-30[perf] Don't build cairo-perf in "make all"Behdad Esfahbod1-1/+1
2007-04-30Free all memory when cairo-perf exits.Chris Wilson1-0/+19
Similar to cairo-test, we free any global memory used by cairo for its caches through the debug interfaces. We do this so that valgrind does not unnecessary warn about memory leaks for the cached data and any true leak is then not lost in the noise.
2007-04-28Add missing prototypes for getline and strndupCarl Worth1-2/+10
This is needed to prevent breaking the build for non-GNU systems.
2007-04-28cairo-perf-diff-files: Add missing include of libgen.h for basenameCarl Worth1-0/+1
2007-04-26cairo-perf-diff-files: Always print old and new configuration namesCarl Worth1-6/+6
Previously, if the change in the first test case was small enough to be considered insignificant, then the header lines showing the names of the old and new configurations would be omitted. This commit fixes that bug.
2007-04-25cairo-perf-diff: Repair command-line option parsing.Carl Worth1-5/+9
Apparently --force and --html have been broken since the attempt to address --help in ef5611df6c6bc8d9c6877af3a59c66fa6fc5c13a .
2007-04-25Make the traditional speedup vs. slowdown report style available againCarl Worth1-9/+103
Now, if you pass exactly two performance reports on the command line you'll get the traditional report style again, (so the tool remains backwards compatible). If you really want the new style with two reports you can get it by adding /dev/null as a third argument.