[gegl] perf: update makefiles with a current highlight of interesting commits
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] perf: update makefiles with a current highlight of interesting commits
- Date: Sun, 7 Jan 2018 21:48:30 +0000 (UTC)
commit 98c210e758d8df91491abaf587dd4ef6e35303d0
Author: Øyvind Kolås <pippin gimp org>
Date: Sun Jan 7 19:29:13 2018 +0100
perf: update makefiles with a current highlight of interesting commits
Also various tweaks to the set of tests tested for by the history profiler.
perf/Makefile-retrospect | 5 +-
perf/Makefile-tests | 5 +-
perf/create-report.rb | 14 ++++
perf/joblist | 131 +++++++++++++++++++++++++++++++++++++---
perf/perf-build.sh | 2 +-
perf/test-common.h | 12 ++--
perf/test-gegl-buffer-access.c | 11 ++-
perf/test-rotate.c | 2 +-
perf/test-scale.c | 2 +-
perf/test-unsharpmask.c | 2 +-
10 files changed, 158 insertions(+), 28 deletions(-)
---
diff --git a/perf/Makefile-retrospect b/perf/Makefile-retrospect
index 239471d..9ce3a93 100644
--- a/perf/Makefile-retrospect
+++ b/perf/Makefile-retrospect
@@ -3,7 +3,7 @@
SELF = Makefile-retrospect
-MAKE_FLAGS = -j3 -k
+MAKE_FLAGS = -j5 -k
CC = "ccache gcc" # if you do not have ccache replace with just gcc
PROJECT_PATH = ../
@@ -12,7 +12,8 @@ PROJECT_PATH = ../
#.SILENT:
# replace sequential with random to build a random subset
-all: reset sequential
+#all: reset sequential
+all: reset reverse
#all: reset random
retry:
diff --git a/perf/Makefile-tests b/perf/Makefile-tests
index 6bb3309..b02eafd 100644
--- a/perf/Makefile-tests
+++ b/perf/Makefile-tests
@@ -1,4 +1,5 @@
-CFILES = $(wildcard *.c)
+#CFILES = $(wildcard *.c)
+CFILES = test-rotate.c test-scale.c test-unsharpmask.c test-gegl-buffer-access.c
bins = $(subst ,,$(CFILES:.c=))
all: $(bins)
@@ -8,7 +9,7 @@ all: $(bins)
check: $(bins)
for a in $(bins); do \
- LD_LIBRARY_PATH=prefix/lib:$(LD_LIBRARY_PATH) ./$$a;\
+ GEGL_USE_OPENCL=no LD_LIBRARY_PATH=prefix/lib:$(LD_LIBRARY_PATH) ./$$a;\
done
clean:
diff --git a/perf/create-report.rb b/perf/create-report.rb
index 6f5eef9..cfebe8d 100755
--- a/perf/create-report.rb
+++ b/perf/create-report.rb
@@ -76,6 +76,20 @@ class Database
[0.5,1,0.2, 0.7],
[0.5,1,0.2, 0.7],
[0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
+ [0.5,1,0.2, 0.7],
[0.5,1,0.2, 0.7]
]
@width = 1800
diff --git a/perf/joblist b/perf/joblist
index 9ddd95f..5837405 100644
--- a/perf/joblist
+++ b/perf/joblist
@@ -1,15 +1,126 @@
+HEAD
-# 24ee45ef27f19971da390aa232e505bf6c72956d should be blacklisted
+master~10..master
-#85267e0c013a41c8c0e64557e55868260ca9d9eb..master % 2
-master~16..master
-#master~16..master % 2
-master~32..master % 4
-master~128..master % 8
+# enable multi-thread by default
+
+f606e8f
+# make shape and offset of sampler prefetch adaptive
+
+e7f98682b9bddc7f7236fabe4cbc77e701510aa4
+
+
+03bdb529bccfcc5bc51dd02bc266d901a4af6300
+bacba9796ec0e914d790c3aa9aafa815c17b978e
+
+01fb757dabcf8e8baee58a525220ba063f9fb255
+5f4414f0261778644ba96db98cb9d0ea09ff6a6a
+
+c196378e7f2318914eb60d2f109d9a96ad5c91e3
+
+267f9aa40272ec444ecbcc37af029769294b0f88
+
+543a46eace5842f18c8bd9d706cf9fca81e2a3f4
+
+
+438f55111b1b21b9d607d6f0790999e4312a2229
+
+ba66d9ed139f6630c6938397be0c290d9a0211ec
+
+d9f994c9c62135933bda85931c47135633b53826
+
+dda39cc0bd0e9a92cb89323c888315f1fab13a65
+
+e2840d046a891d5c252f985f4270b9836ca589d5
+
+
+cb2c7e7883cbc7030eca03ff2dd2163fbb6a9ed1
+
+
+d1512f3e5f061d3a68782653a213f1494d11905e
+
+
+8bdbe3db69602d855039fa4a1db1894755e34277
+
+7404ac114c565238a04257cff48822872cf67bbc
+
+fbff27366db93369ee44b8388fbac8875c7c067a
+
+172d9b4f4e8a4ee906cb6dbc718e27f7a933161e
+
+5c741a6951e0d9f68e70ab339cc57d22b3e678df
+
+e25f8a0b4163bfdbaab8f20b6ec1f9c559676071
+
+0e653cb6def5286012c8160a19b5c0d708b56d45
+
+
+8b034c437b0162b26f85eb80867914977ac3cf57
+
+
+793a1a9d3d9186d29c5c017fa09752aa5358bfca
-#ae81fbf..master
-#
-#e4fd7c63e2b1bf19e6014bc64641828bbd478bc8..master % 128
+c141bbf26f629f70d33414247a42e8cac1056b29
-#e012437..master % 4
+b54454fd225c5a807b680dc1be14cba62acfafd7
+
+976b8be524ea91fdde7cfc5d08f7e7c732673f34
+
+
+ff5b5469a1e75b7f4e0db2b1df3cdb77f1edc542
+
+ceba8e415f10cff64ed35457a5b4fd19b81682a2
+
+462f4bb0f5bf8ac4897faa76641bbde9da703502
+
+856b32395789b1307fc2902e4f804a8b99526792
+
+f68e28b21b434717aa27a300dc635bc9949d1358
+
+8b7e7bf5f780638a7ba583218afbfb0010288ca9
+
+66dad2179c1ec9e8b32900ef6ef8f93244d51209
+
+5499882d02d30ee4be5d118639713e3f6933647c
+
+0b0ecbb67198d6318ed163522e5233ecbc18ff25
+
+66f2fdfb03b5d8b4426ef3ab963211fe0209bf8a
+
+df7547ae473e09aba351759db0ffc7f85257004c
+
+33293de5b4a716203fe6754b249ed42a28c4e14b
+
+e3787440917255b6936a8d55428aa9402fdfba08
+
+01fb757dabcf8e8baee58a525220ba063f9fb255
+
+10c584c31303ca6b1a2be37b70cebc73cbe4d427
+
+a17ee109c8271106ab1482dd408e1d17a44239d9
+
+d5a00968c98f86b360ceed5c71e082c5ddc17983
+
+4d25c34eb66719b09b8f959fa0ce49d42f4ec690
+
+e71c3cd6bc877b31f4c1946aad7ab6b9c93b6597
+
+d52b0385eb0147a1b8b0b75519836f45e7da8e9e
+
+f822d67d5a743e915bc6823f73ac38cd2a0eb54a
+
+c73fdfae576ada69a79dddf86fa98c39172e0902
+
+82b95d60aa616914fdd20b84abb4afff00f3e50e
+
+d195c300f164921d74f24ee06eb99d8d22e8ba2f
+
+9b3e9422e0fa296965525dd9fd2f502c83574a4f
+
+09e6133a340b666245749b682d9b76dd8b0d26d7
+
+134150914140043d2f945cd830dc288c66062bdc
+
+#master~16..master % 2
+#master~512..master % 8
diff --git a/perf/perf-build.sh b/perf/perf-build.sh
index 005b035..2d6b2f9 100755
--- a/perf/perf-build.sh
+++ b/perf/perf-build.sh
@@ -20,7 +20,7 @@ if [ ! -d prefixes/$REV ]; then
(
cd checkout;
if [ ! -f Makefile ]; then
- CC=$CC ./autogen.sh --disable-introspection --prefix=`pwd`/../prefix;
+ CC=$CC ./autogen.sh --disable-docs --disable-introspection --prefix=`pwd`/../prefix;
fi;
make $MAKE_FLAGS ;
diff --git a/perf/test-common.h b/perf/test-common.h
index fe478d0..4eaa6eb 100644
--- a/perf/test-common.h
+++ b/perf/test-common.h
@@ -12,10 +12,10 @@ long babl_ticks (void); /* using babl_ticks instead of gegl_ticks
void test_start (void);
void test_end (const gchar *id,
- glong bytes);
+ double bytes);
void test_end_suffix (const gchar *id,
const gchar *suffix,
- glong bytes);
+ gdouble bytes);
GeglBuffer *test_buffer (gint width,
gint height,
const Babl *format);
@@ -34,7 +34,7 @@ void test_start (void)
void test_end_suffix (const gchar *id,
const gchar *suffix,
- glong bytes)
+ gdouble bytes)
{
long ticks = babl_ticks ()-ticks_start;
g_print ("@ %s%s: %.2f megabytes/second\n",
@@ -42,7 +42,7 @@ void test_end_suffix (const gchar *id,
}
void test_end (const gchar *id,
- glong bytes)
+ gdouble bytes)
{
test_end_suffix (id, "", bytes);
}
@@ -87,13 +87,13 @@ void do_bench (const gchar *id,
// warm up
test_func(buffer);
-#define ITERATIONS 16
+#define ITERATIONS 32
test_start ();
for (int i=0; i<ITERATIONS; ++i)
{
test_func(buffer);
}
- test_end_suffix (id, suffix, gegl_buffer_get_pixel_count (buffer) * 16 * ITERATIONS);
+ test_end_suffix (id, suffix, ((double)gegl_buffer_get_pixel_count (buffer)) * 16 * ITERATIONS);
#undef ITERATIONS
}
diff --git a/perf/test-gegl-buffer-access.c b/perf/test-gegl-buffer-access.c
index a201af6..d4a5ebc 100644
--- a/perf/test-gegl-buffer-access.c
+++ b/perf/test-gegl-buffer-access.c
@@ -7,7 +7,7 @@ main (gint argc,
gchar **argv)
{
GeglBuffer *buffer;
- GeglRectangle bound = {0, 0, 4024, 4024};
+ GeglRectangle bound = {0, 0, 2048, 2048};
const Babl *format;
gchar *buf;
gint i;
@@ -17,7 +17,7 @@ main (gint argc,
buffer = gegl_buffer_new (&bound, format);
buf = g_malloc0 (bound.width * bound.height * BPP);
-#define ITERATIONS 4
+#define ITERATIONS 64
/* pre-initialize */
gegl_buffer_set (buffer, &bound, 0, NULL, buf, GEGL_AUTO_ROWSTRIDE);
@@ -27,7 +27,7 @@ main (gint argc,
{
gegl_buffer_get (buffer, &bound, 1.0, NULL, buf, GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
}
- test_end ("gegl_buffer_get", bound.width * bound.height * ITERATIONS * BPP);
+ test_end ("gegl_buffer_get", 1.0 * bound.width * bound.height * ITERATIONS * BPP);
test_start ();
@@ -35,11 +35,14 @@ main (gint argc,
{
gegl_buffer_set (buffer, &bound, 0, NULL, buf, GEGL_AUTO_ROWSTRIDE);
}
- test_end ("gegl_buffer_set", bound.width * bound.height * ITERATIONS * BPP);
+ test_end ("gegl_buffer_set", 1.0 * bound.width * bound.height * ITERATIONS * BPP);
format = babl_format ("RGBA float");
+#undef ITERATIONS
+#define ITERATIONS 128
+
{
#define SAMPLES 150000
gint rands[SAMPLES*2];
diff --git a/perf/test-rotate.c b/perf/test-rotate.c
index c9c6d0d..34f93c7 100644
--- a/perf/test-rotate.c
+++ b/perf/test-rotate.c
@@ -11,7 +11,7 @@ main (gint argc,
gegl_init (&argc, &argv);
- buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
+ buffer = test_buffer (2048, 1024, babl_format ("RGBA float"));
bench ("rotate", buffer, &rotate);
bench ("rotate-nearest", buffer, &rotate_nearest);
diff --git a/perf/test-scale.c b/perf/test-scale.c
index e34f7c9..c0f0165 100644
--- a/perf/test-scale.c
+++ b/perf/test-scale.c
@@ -11,7 +11,7 @@ main (gint argc,
gegl_init (&argc, &argv);
- buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
+ buffer = test_buffer (2048, 1024, babl_format ("RGBA float"));
bench ("scale", buffer, &scale);
bench ("scale-nearest", buffer, &scale_nearest);
g_object_unref (buffer);
diff --git a/perf/test-unsharpmask.c b/perf/test-unsharpmask.c
index 0095825..b4048d5 100644
--- a/perf/test-unsharpmask.c
+++ b/perf/test-unsharpmask.c
@@ -10,7 +10,7 @@ main (gint argc,
gegl_init (&argc, &argv);
- buffer = test_buffer (2048, 1024, babl_format ("RGBA float"));
+ buffer = test_buffer (1024, 1024, babl_format ("RGBA float"));
bench("unsharp-mask", buffer, &unsharpmask);
return 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]