[gegl] perf: Test gegl:saturation performance
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] perf: Test gegl:saturation performance
- Date: Sat, 9 Jan 2016 18:53:14 +0000 (UTC)
commit 80dc657d6c04a8f15c7dd84450a7f87fe108e444
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Jan 8 10:43:03 2016 +0100
perf: Test gegl:saturation performance
https://bugzilla.gnome.org/show_bug.cgi?id=760310
perf/Makefile.am | 2 +
perf/test-saturation.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 57 insertions(+), 0 deletions(-)
---
diff --git a/perf/Makefile.am b/perf/Makefile.am
index 61db25e..0c79d96 100644
--- a/perf/Makefile.am
+++ b/perf/Makefile.am
@@ -8,6 +8,7 @@ noinst_PROGRAMS = \
test-gegl-buffer-access \
test-samplers \
test-rotate \
+ test-saturation \
test-scale \
test-translate
@@ -36,6 +37,7 @@ check:
for a in $(noinst_PROGRAMS);do GEGL_PATH=../operations ./$$a;done;true
test_rotate_SOURCES = test-rotate.c
+test_saturation_SOURCES = test-saturation.c
test_scale_SOURCES = test-scale.c
test_translate_SOURCES = test-translate.c
test_blur_SOURCES = test-blur.c
diff --git a/perf/test-saturation.c b/perf/test-saturation.c
new file mode 100644
index 0000000..321787b
--- /dev/null
+++ b/perf/test-saturation.c
@@ -0,0 +1,55 @@
+#include "test-common.h"
+
+void saturation(GeglBuffer *buffer);
+
+gint
+main (gint argc,
+ gchar **argv)
+{
+ GeglBuffer *buffer;
+
+ gegl_init (&argc, &argv);
+
+ buffer = test_buffer (1024, 1024, babl_format ("RGB float"));
+ bench ("saturation (RGB)", buffer, &saturation);
+ g_object_unref (buffer);
+
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
+ bench ("saturation (RGBA)", buffer, &saturation);
+ g_object_unref (buffer);
+
+ buffer = test_buffer (1024, 1024, babl_format ("CIE Lab float"));
+ bench ("saturation (CIE Lab)", buffer, &saturation);
+ g_object_unref (buffer);
+
+ buffer = test_buffer (1024, 1024, babl_format ("CIE Lab alpha float"));
+ bench ("saturation (CIE Lab alpha)", buffer, &saturation);
+ g_object_unref (buffer);
+
+ buffer = test_buffer (1024, 1024, babl_format ("CIE LCH(ab) float"));
+ bench ("saturation (CIE LCH(ab))", buffer, &saturation);
+ g_object_unref (buffer);
+
+ buffer = test_buffer (1024, 1024, babl_format ("CIE LCH(ab) alpha float"));
+ bench ("saturation (CIE LCH(ab) alpha)", buffer, &saturation);
+ g_object_unref (buffer);
+
+ gegl_exit ();
+ return 0;
+}
+
+void saturation(GeglBuffer *buffer)
+{
+ GeglBuffer *buffer2;
+ GeglNode *gegl, *source, *saturation, *sink;
+
+ gegl = gegl_node_new ();
+ source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL);
+ saturation = gegl_node_new_child (gegl, "operation", "gegl:saturation", "scale", 1.25, NULL);
+ sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL);
+
+ gegl_node_link_many (source, saturation, 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]