[gegl] Referesh performance testing framework
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] Referesh performance testing framework
- Date: Sun, 19 Dec 2010 01:01:32 +0000 (UTC)
commit 1f09616ae89f5bec2ad98b2992fd7efa4aa90805
Author: �yvind Kolås <pippin gimp org>
Date: Sun Dec 19 00:58:43 2010 +0000
Referesh performance testing framework
Streamline it's operation, make it possible to easily reuse the system for
other projects.
perf/.gitignore | 10 ++++++++++
perf/Makefile | 1 +
perf/README | 21 ++++++++++-----------
perf/create-report.rb | 2 +-
perf/tests/bblur.c | 2 +-
perf/tests/bcontrast-minichunk.c | 4 ++--
perf/tests/bcontrast.c | 4 ++--
perf/tests/blur.c | 2 +-
perf/tests/comp.c | 6 +++---
perf/tests/passthrough.c | 4 ++--
perf/tests/rotate.c | 2 +-
perf/tests/test-gegl-buffer-access.c | 4 ++--
perf/tests/unsharpmask.c | 2 +-
13 files changed, 37 insertions(+), 27 deletions(-)
---
diff --git a/perf/.gitignore b/perf/.gitignore
new file mode 100644
index 0000000..07b5917
--- /dev/null
+++ b/perf/.gitignore
@@ -0,0 +1,10 @@
+report.png
+report.pdf
+build
+tests/bblur
+tests/bcontrast-minichunk
+tests/blur
+tests/comp
+tests/passthrough
+tests/rotate
+tests/unsharpmask
diff --git a/perf/Makefile b/perf/Makefile
index 87f0610..266ba52 100644
--- a/perf/Makefile
+++ b/perf/Makefile
@@ -56,3 +56,4 @@ reports/%:
clean:
rm -rf reports jobs report.pdf report.png build
+ make -C tests clean
diff --git a/perf/README b/perf/README
index 7f0af87..b996bf8 100644
--- a/perf/README
+++ b/perf/README
@@ -2,22 +2,21 @@ GEGL Performance tracking framework
===================================
This directory contains a framework to track performance development of a set
-of tests over time. It requires make, ruby and ruby cairo bindings to work. The
-framework is designed to be possible to drop in to existing software projects
-and operate outside the projects own build system, it creates an internal clone
-of the git repo - CAVEAT: it installs the tested project system wide.
+of tests over time. It requires make, ruby and ruby cairo bindings to work.
-Take a look at the top of Makefile for configuration of number of revisions to
-test. And just type make to build, later invokations of make when the
-repository has changed will generate tests for the new revisions. To re-run the
-last revision type 'make retry'.
+Type "make" to update a report of the performance over the last N revisions,
+where N is defined in the top of Makefile along with some other configuration
+options.
+
+An internal shallow clone of the master git repo is created for testing, when
+testing revisions. When walking this git repo partial rebuilds are possible
+like with git bisect.
tests/ contains the tests being run for every revision and a makefile for
-building the tests against an installed GEGL and testing all of them. Rename a
-test to not end in .c to temporarily not test it.
+building the tests against an installed GEGL and testing all of them. Adjust
+the makefile to only build a few tests.
make # build tests
make clean # remove all temporary files
make check # run all tests with output values in std-out of the
# form "\n@ test-name: 244.4".
-
diff --git a/perf/create-report.rb b/perf/create-report.rb
index 9949372..c014cfc 100755
--- a/perf/create-report.rb
+++ b/perf/create-report.rb
@@ -160,7 +160,7 @@ end
generator = Database.new
-items = File.open('joblist').each { |rev|
+items = File.open('jobs').each { |rev|
rev.strip!
generator.add_run(rev)
filename = "reports/" + rev;
diff --git a/perf/tests/bblur.c b/perf/tests/bblur.c
index 4d3bff2..633da3b 100644
--- a/perf/tests/bblur.c
+++ b/perf/tests/bblur.c
@@ -10,7 +10,7 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
gegl = gegl_graph (sink = gegl_node ("gegl:buffer-sink", "buffer", &buffer2, NULL,
gegl_node ("gegl:box-blur", "radius", 2.0, NULL,
diff --git a/perf/tests/bcontrast-minichunk.c b/perf/tests/bcontrast-minichunk.c
index 48989f8..c14a8a3 100644
--- a/perf/tests/bcontrast-minichunk.c
+++ b/perf/tests/bcontrast-minichunk.c
@@ -13,9 +13,9 @@ main (gint argc,
g_object_set (gegl_config (), "chunk-size", 128 * 128, NULL);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
-#define ITERATIONS 2
+#define ITERATIONS 6
test_start ();
for (i=0;i< ITERATIONS;i++)
{
diff --git a/perf/tests/bcontrast.c b/perf/tests/bcontrast.c
index c6a1891..0d682a8 100644
--- a/perf/tests/bcontrast.c
+++ b/perf/tests/bcontrast.c
@@ -11,9 +11,9 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
-#define ITERATIONS 4
+#define ITERATIONS 8
test_start ();
for (i=0;i< ITERATIONS;i++)
{
diff --git a/perf/tests/blur.c b/perf/tests/blur.c
index dcfbab3..0376038 100644
--- a/perf/tests/blur.c
+++ b/perf/tests/blur.c
@@ -10,7 +10,7 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
gegl = gegl_graph (sink = gegl_node ("gegl:buffer-sink", "buffer", &buffer2, NULL,
gegl_node ("gegl:gaussian-blur",
diff --git a/perf/tests/comp.c b/perf/tests/comp.c
index c4f0801..db70419 100644
--- a/perf/tests/comp.c
+++ b/perf/tests/comp.c
@@ -12,10 +12,10 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- bufferB = test_buffer (2048, 2048, babl_format ("RGBA float"));
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ bufferB = test_buffer (1024, 1024, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
-#define ITERATIONS 4
+#define ITERATIONS 8
test_start ();
for (i=0;i< ITERATIONS;i++)
{
diff --git a/perf/tests/passthrough.c b/perf/tests/passthrough.c
index fded1ba..0d88b2d 100644
--- a/perf/tests/passthrough.c
+++ b/perf/tests/passthrough.c
@@ -11,9 +11,9 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
-#define ITERATIONS 4
+#define ITERATIONS 8
test_start ();
for (i=0;i< ITERATIONS;i++)
gegl = gegl_graph (sink = gegl_node ("gegl:buffer-sink", "buffer", &buffer2, NULL,
diff --git a/perf/tests/rotate.c b/perf/tests/rotate.c
index 28a1bbd..6be989e 100644
--- a/perf/tests/rotate.c
+++ b/perf/tests/rotate.c
@@ -10,7 +10,7 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
gegl = gegl_graph (sink = gegl_node ("gegl:buffer-sink", "buffer", &buffer2, NULL,
gegl_node ("gegl:rotate", "degrees", 4.0, NULL,
diff --git a/perf/tests/test-gegl-buffer-access.c b/perf/tests/test-gegl-buffer-access.c
index debde06..2eb1fe5 100644
--- a/perf/tests/test-gegl-buffer-access.c
+++ b/perf/tests/test-gegl-buffer-access.c
@@ -5,7 +5,7 @@ main (gint argc,
gchar **argv)
{
GeglBuffer *buffer;
- GeglRectangle bound = {0, 0, 4096, 4096};
+ GeglRectangle bound = {0, 0, 1024, 1024};
gchar *buf;
gint i;
@@ -14,7 +14,7 @@ main (gint argc,
buffer = gegl_buffer_new (&bound, babl_format ("RGBA float"));
buf = g_malloc0 (bound.width * bound.height * 16);
-#define ITERATIONS 5
+#define ITERATIONS 8
test_start ();
for (i=0;i<ITERATIONS;i++)
diff --git a/perf/tests/unsharpmask.c b/perf/tests/unsharpmask.c
index ea0d768..936f1d4 100644
--- a/perf/tests/unsharpmask.c
+++ b/perf/tests/unsharpmask.c
@@ -10,7 +10,7 @@ main (gint argc,
g_thread_init (NULL);
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 2048, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
gegl = gegl_graph (sink = gegl_node ("gegl:buffer-sink", "buffer", &buffer2, NULL,
gegl_node ("gegl:unsharp-mask",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]