[gegl/wip/rishi/insta: 5/8] perf: Test gegl:crop performance



commit d9fee894a5708010231527b43acafe478f2f4c78
Author: Debarshi Ray <debarshir gnome org>
Date:   Sun Jan 31 09:49:49 2016 +0100

    perf: Test gegl:crop performance

 perf/Makefile.am |    2 ++
 perf/test-crop.c |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/perf/Makefile.am b/perf/Makefile.am
index a45ef8f..840c3bb 100644
--- a/perf/Makefile.am
+++ b/perf/Makefile.am
@@ -3,6 +3,7 @@ noinst_PROGRAMS = \
        test-blur \
        test-bcontrast \
        test-bcontrast-minichunk \
+       test-crop \
        test-unsharpmask \
        test-bcontrast-4x \
        test-init \
@@ -45,6 +46,7 @@ test_blur_SOURCES = test-blur.c
 test_bcontrast_SOURCES = test-bcontrast.c
 test_bcontrast_minichunk_SOURCES = test-bcontrast-minichunk.c
 test_bcontrast_4x_SOURCES = test-bcontrast-4x.c
+test_crop_SOURCES = test-crop.c
 test_init_SOURCES = test-init.c
 test_unsharpmask_SOURCES = test-unsharpmask.c
 test_gegl_buffer_access_SOURCES = test-gegl-buffer-access.c
diff --git a/perf/test-crop.c b/perf/test-crop.c
new file mode 100644
index 0000000..f64b109
--- /dev/null
+++ b/perf/test-crop.c
@@ -0,0 +1,47 @@
+#include "test-common.h"
+
+void crop(GeglBuffer *buffer);
+
+gint
+main (gint    argc,
+      gchar **argv)
+{
+  GeglBuffer *buffer;
+
+  gegl_init (&argc, &argv);
+
+  buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
+  bench ("crop", buffer, &crop);
+  g_object_unref (buffer);
+
+  gegl_exit ();
+  return 0;
+}
+
+void crop(GeglBuffer *buffer)
+{
+  GeglBuffer *buffer2;
+  GeglNode   *crop, *gegl, *source, *sink;
+
+  gegl = gegl_node_new ();
+  source = gegl_node_new_child (gegl,
+                                "operation", "gegl:buffer-source",
+                                "buffer", buffer,
+                                NULL);
+  crop = gegl_node_new_child (gegl,
+                              "operation", "gegl:crop",
+                              "x", 0.0,
+                              "y", 0.0,
+                              "width", 10.0,
+                              "height", 10.0,
+                              NULL);
+  sink = gegl_node_new_child (gegl,
+                              "operation", "gegl:buffer-sink",
+                              "buffer", &buffer2,
+                              NULL);
+
+  gegl_node_link_many (source, crop, sink, NULL);
+  gegl_node_process (sink);
+  g_object_unref (gegl);
+  g_object_unref (buffer2);
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]