[gegl] Referesh performance testing framework



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]