>From 7b6542473d371237952c3618628942cfb701ce10 Mon Sep 17 00:00:00 2001
From: Tamas TEVESZ <[email protected]>
Date: Thu, 23 Sep 2010 01:27:53 +0200
Subject: [PATCH] Kill BENCH

Nice idea, x86 assembly is so 1980s.

tests/testgrad.c could probably have been saved, but seriously, who's
going to miss it?

Signed-off-by: Tamas TEVESZ <[email protected]>
---
 wrlib/bench.h          |   68 ------------------------------------------------
 wrlib/context.c        |    2 -
 wrlib/convert.c        |   24 -----------------
 wrlib/tests/testgrad.c |   56 ---------------------------------------
 4 files changed, 0 insertions(+), 150 deletions(-)
 delete mode 100644 wrlib/bench.h

diff --git a/wrlib/bench.h b/wrlib/bench.h
deleted file mode 100644
index e7dba0c..0000000
--- a/wrlib/bench.h
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-inline static void
-cycle_bench(int start)
-{
-    static volatile unsigned int start_cycle;
-
-    if (start) {
-        asm volatile
-            ("pushl %%edx      \n\t"
-             "rdtsc            \n\t"
-             "movl %%eax,%0    \n\t"
-             "cld              \n\t"
-             "popl %%edx       \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             "nop              \n\t"
-             : "=m" (start_cycle) : : "eax", "edx");
-    } else {
-        volatile int end;
-
-        asm volatile
-            ("pushl %%edx      \n\t"
-             "clc              \n\t"
-             "rdtsc            \n\t"
-             "movl %%eax, %0   \n\t"
-             "popl %%edx       \n\t"
-             : "=m" (end) : : "eax", "edx");
-
-        printf("Cycle count = %u\n", end - start_cycle - 68);
-    }
-}
-
-
-
-#if 0
-// seems linux doesnt allow user progs to exec rdpmc
-inline static void
-cache_bench(int start)
-{
-    static int start_cycle;
-
-    if (start) {
-        asm volatile
-            ("movl $1,%%ecx    \n\t"
-             "rdpmc             \n\t"
-             "movl %%eax,%0     \n\t"
-             : "=m" (start_cycle));
-    } else {
-        int end;
-
-        asm volatile
-            ("movl $1,%%ecx    \n\t"
-             "rdpmc             \n\t"
-             "movl %%eax,%0"
-             : "=m" (end));
-
-        printf("Cache reloads counted = %i\n", end - start_cycle);
-    }
-}
-
-#endif
diff --git a/wrlib/context.c b/wrlib/context.c
index 6c61e2c..fd484c7 100644
--- a/wrlib/context.c
+++ b/wrlib/context.c
@@ -595,9 +595,7 @@ RContext *RCreateContext(Display * dpy, int screen_number, 
RContextAttributes *
 
        /* get configuration from environment variables */
        gatherconfig(context, screen_number);
-#ifndef BENCH
        _wraster_change_filter(context->attribs->scaling_filter);
-#endif
        if ((context->attribs->flags & RC_VisualID)) {
                XVisualInfo *vinfo, templ;
                int nret;
diff --git a/wrlib/convert.c b/wrlib/convert.c
index 4b15cc5..3f04556 100644
--- a/wrlib/convert.c
+++ b/wrlib/convert.c
@@ -34,10 +34,6 @@
 
 #include <assert.h>
 
-#ifdef BENCH
-#include "bench.h"
-#endif
-
 #include "wraster.h"
 
 #ifdef XSHM
@@ -324,10 +320,6 @@ static RXImage *image2TrueColor(RContext * ctx, RImage * 
image)
                return NULL;
        }
 
-#ifdef BENCH
-       cycle_bench(1);
-#endif
-
        if (ctx->attribs->render_mode == RBestMatchRendering) {
                int ofs, r, g, b;
                int x, y;
@@ -424,10 +416,6 @@ static RXImage *image2TrueColor(RContext * ctx, RImage * 
image)
 
        }
 
-#ifdef BENCH
-       cycle_bench(0);
-#endif
-
        return ximg;
 }
 
@@ -900,27 +888,15 @@ int RConvertImage(RContext * context, RImage * image, 
Pixmap * pixmap)
 
        switch (context->vclass) {
        case TrueColor:
-#ifdef BENCH
-               cycle_bench(1);
-#endif
                ximg = image2TrueColor(context, image);
-#ifdef BENCH
-               cycle_bench(0);
-#endif
                break;
 
        case PseudoColor:
        case StaticColor:
-#ifdef BENCH
-               cycle_bench(1);
-#endif
                if (context->attribs->standard_colormap_mode != 
RIgnoreStdColormap)
                        ximg = image2StandardPseudoColor(context, image);
                else
                        ximg = image2PseudoColor(context, image);
-#ifdef BENCH
-               cycle_bench(0);
-#endif
                break;
 
        case GrayScale:
diff --git a/wrlib/tests/testgrad.c b/wrlib/tests/testgrad.c
index 1f43f2c..b4a3257 100644
--- a/wrlib/tests/testgrad.c
+++ b/wrlib/tests/testgrad.c
@@ -4,10 +4,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#ifdef BENCH
-#include <sys/time.h>
-#include <time.h>
-#endif
 
 Display *dpy;
 Window win;
@@ -26,9 +22,6 @@ void print_help()
        puts(" -v <vis-id>      visual id to use");
 }
 
-#ifdef BENCH
-#include "bench.h"
-#endif
 int main(int argc, char **argv)
 {
        RContextAttributes attr;
@@ -38,10 +31,6 @@ int main(int argc, char **argv)
        XColor color;
        XSetWindowAttributes val;
        int visualID = -1;
-#ifdef BENCH
-       double t1, t2, total, t, rt;
-       struct timeval timev;
-#endif
 
        ProgName = strrchr(argv[0], '/');
        if (!ProgName)
@@ -135,56 +124,12 @@ int main(int argc, char **argv)
        val.background_pixel = ctx->black;
        val.colormap = ctx->cmap;
        val.backing_store = Always;
-#ifdef BENCH
-       win = XCreateWindow(dpy, DefaultRootWindow(dpy), 10, 10, 250, 250,
-                           0, ctx->depth, InputOutput, ctx->visual,
-                           CWColormap | CWBackPixel | CWBackingStore, &val);
-#else
        win = XCreateWindow(dpy, DefaultRootWindow(dpy), 10, 10, 750, 250,
                            0, ctx->depth, InputOutput, ctx->visual,
                            CWColormap | CWBackPixel | CWBackingStore, &val);
-#endif
        XMapRaised(dpy, win);
        XFlush(dpy);
 
-#ifdef BENCH
-       rt = 0;
-       gettimeofday(&timev, NULL);
-       t = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-       for (i = 0; i < 9; i++) {
-               if (i > 0)
-                       printf("\nrepeating...\n\n");
-               gettimeofday(&timev, NULL);
-               t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-               if (i % 3 == 0)
-                       imgh = RRenderMultiGradient(550, 550, colors, 
RGRD_HORIZONTAL);
-               else if (i % 3 == 1)
-                       imgh = RRenderMultiGradient(550, 550, colors, 
RGRD_VERTICAL);
-               else
-                       imgh = RRenderMultiGradient(550, 550, colors, 
RGRD_DIAGONAL);
-
-               gettimeofday(&timev, NULL);
-               t2 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-               total = t2 - t1;
-               printf("gradient rendered in %f sec\n", total);
-
-               RConvertImage(ctx, imgh, &pix);
-               gettimeofday(&timev, NULL);
-               t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-               total = t1 - t2;
-               rt += total;
-               printf("image converted in %f sec\n", total);
-
-               XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 0, 0);
-
-               XFlush(dpy);
-       }
-       t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-       printf("------------------------------------------\n");
-       printf("%i images processed in %f sec\n", i, t1 - t);
-       printf("average time per convertion %f sec\n", rt / i);
-       printf("------------------------------------------\n");
-#else
        imgh = RRenderMultiGradient(250, 250, colors, RGRD_HORIZONTAL);
        imgv = RRenderMultiGradient(250, 250, colors, RGRD_VERTICAL);
        imgd = RRenderMultiGradient(250, 250, colors, RGRD_DIAGONAL);
@@ -198,7 +143,6 @@ int main(int argc, char **argv)
        XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 500, 0);
 
        XFlush(dpy);
-#endif
 
        getchar();
        return 0;
-- 
1.7.0.4


-- 
[-]

mkdir /nonexistent
From 7b6542473d371237952c3618628942cfb701ce10 Mon Sep 17 00:00:00 2001
From: Tamas TEVESZ <[email protected]>
Date: Thu, 23 Sep 2010 01:27:53 +0200
Subject: [PATCH] Kill BENCH

Nice idea, x86 assembly is so 1980s.

tests/testgrad.c could probably have been saved, but seriously, who's
going to miss it?

Signed-off-by: Tamas TEVESZ <[email protected]>
---
 wrlib/bench.h          |   68 ------------------------------------------------
 wrlib/context.c        |    2 -
 wrlib/convert.c        |   24 -----------------
 wrlib/tests/testgrad.c |   56 ---------------------------------------
 4 files changed, 0 insertions(+), 150 deletions(-)
 delete mode 100644 wrlib/bench.h

diff --git a/wrlib/bench.h b/wrlib/bench.h
deleted file mode 100644
index e7dba0c..0000000
--- a/wrlib/bench.h
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-inline static void
-cycle_bench(int start)
-{
-    static volatile unsigned int start_cycle;
-
-    if (start) {
-        asm volatile
-            ("pushl %%edx	\n\t"
-             "rdtsc         	\n\t"
-             "movl %%eax,%0  	\n\t"
-             "cld            	\n\t"
-             "popl %%edx	\n\t"
-             "nop            	\n\t"
-             "nop            	\n\t"
-             "nop            	\n\t"
-             "nop            	\n\t"
-             "nop            	\n\t"
-             "nop       	\n\t"
-             "nop            	\n\t"
-             "nop    	        \n\t"
-             : "=m" (start_cycle) : : "eax", "edx");
-    } else {
-        volatile int end;
-
-        asm volatile
-            ("pushl %%edx	\n\t"
-             "clc            	\n\t"
-             "rdtsc          	\n\t"
-             "movl %%eax, %0	\n\t"
-             "popl %%edx	\n\t"
-             : "=m" (end) : : "eax", "edx");
-
-        printf("Cycle count = %u\n", end - start_cycle - 68);
-    }
-}
-
-
-
-#if 0
-// seems linux doesnt allow user progs to exec rdpmc
-inline static void
-cache_bench(int start)
-{
-    static int start_cycle;
-
-    if (start) {
-        asm volatile
-            ("movl $1,%%ecx	\n\t"
-             "rdpmc             \n\t"
-             "movl %%eax,%0     \n\t"
-             : "=m" (start_cycle));
-    } else {
-        int end;
-
-        asm volatile
-            ("movl $1,%%ecx	\n\t"
-             "rdpmc             \n\t"
-             "movl %%eax,%0"
-             : "=m" (end));
-
-        printf("Cache reloads counted = %i\n", end - start_cycle);
-    }
-}
-
-#endif
diff --git a/wrlib/context.c b/wrlib/context.c
index 6c61e2c..fd484c7 100644
--- a/wrlib/context.c
+++ b/wrlib/context.c
@@ -595,9 +595,7 @@ RContext *RCreateContext(Display * dpy, int screen_number, RContextAttributes *
 
 	/* get configuration from environment variables */
 	gatherconfig(context, screen_number);
-#ifndef BENCH
 	_wraster_change_filter(context->attribs->scaling_filter);
-#endif
 	if ((context->attribs->flags & RC_VisualID)) {
 		XVisualInfo *vinfo, templ;
 		int nret;
diff --git a/wrlib/convert.c b/wrlib/convert.c
index 4b15cc5..3f04556 100644
--- a/wrlib/convert.c
+++ b/wrlib/convert.c
@@ -34,10 +34,6 @@
 
 #include <assert.h>
 
-#ifdef BENCH
-#include "bench.h"
-#endif
-
 #include "wraster.h"
 
 #ifdef XSHM
@@ -324,10 +320,6 @@ static RXImage *image2TrueColor(RContext * ctx, RImage * image)
 		return NULL;
 	}
 
-#ifdef BENCH
-	cycle_bench(1);
-#endif
-
 	if (ctx->attribs->render_mode == RBestMatchRendering) {
 		int ofs, r, g, b;
 		int x, y;
@@ -424,10 +416,6 @@ static RXImage *image2TrueColor(RContext * ctx, RImage * image)
 
 	}
 
-#ifdef BENCH
-	cycle_bench(0);
-#endif
-
 	return ximg;
 }
 
@@ -900,27 +888,15 @@ int RConvertImage(RContext * context, RImage * image, Pixmap * pixmap)
 
 	switch (context->vclass) {
 	case TrueColor:
-#ifdef BENCH
-		cycle_bench(1);
-#endif
 		ximg = image2TrueColor(context, image);
-#ifdef BENCH
-		cycle_bench(0);
-#endif
 		break;
 
 	case PseudoColor:
 	case StaticColor:
-#ifdef BENCH
-		cycle_bench(1);
-#endif
 		if (context->attribs->standard_colormap_mode != RIgnoreStdColormap)
 			ximg = image2StandardPseudoColor(context, image);
 		else
 			ximg = image2PseudoColor(context, image);
-#ifdef BENCH
-		cycle_bench(0);
-#endif
 		break;
 
 	case GrayScale:
diff --git a/wrlib/tests/testgrad.c b/wrlib/tests/testgrad.c
index 1f43f2c..b4a3257 100644
--- a/wrlib/tests/testgrad.c
+++ b/wrlib/tests/testgrad.c
@@ -4,10 +4,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#ifdef BENCH
-#include <sys/time.h>
-#include <time.h>
-#endif
 
 Display *dpy;
 Window win;
@@ -26,9 +22,6 @@ void print_help()
 	puts(" -v <vis-id>	visual id to use");
 }
 
-#ifdef BENCH
-#include "bench.h"
-#endif
 int main(int argc, char **argv)
 {
 	RContextAttributes attr;
@@ -38,10 +31,6 @@ int main(int argc, char **argv)
 	XColor color;
 	XSetWindowAttributes val;
 	int visualID = -1;
-#ifdef BENCH
-	double t1, t2, total, t, rt;
-	struct timeval timev;
-#endif
 
 	ProgName = strrchr(argv[0], '/');
 	if (!ProgName)
@@ -135,56 +124,12 @@ int main(int argc, char **argv)
 	val.background_pixel = ctx->black;
 	val.colormap = ctx->cmap;
 	val.backing_store = Always;
-#ifdef BENCH
-	win = XCreateWindow(dpy, DefaultRootWindow(dpy), 10, 10, 250, 250,
-			    0, ctx->depth, InputOutput, ctx->visual,
-			    CWColormap | CWBackPixel | CWBackingStore, &val);
-#else
 	win = XCreateWindow(dpy, DefaultRootWindow(dpy), 10, 10, 750, 250,
 			    0, ctx->depth, InputOutput, ctx->visual,
 			    CWColormap | CWBackPixel | CWBackingStore, &val);
-#endif
 	XMapRaised(dpy, win);
 	XFlush(dpy);
 
-#ifdef BENCH
-	rt = 0;
-	gettimeofday(&timev, NULL);
-	t = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-	for (i = 0; i < 9; i++) {
-		if (i > 0)
-			printf("\nrepeating...\n\n");
-		gettimeofday(&timev, NULL);
-		t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-		if (i % 3 == 0)
-			imgh = RRenderMultiGradient(550, 550, colors, RGRD_HORIZONTAL);
-		else if (i % 3 == 1)
-			imgh = RRenderMultiGradient(550, 550, colors, RGRD_VERTICAL);
-		else
-			imgh = RRenderMultiGradient(550, 550, colors, RGRD_DIAGONAL);
-
-		gettimeofday(&timev, NULL);
-		t2 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-		total = t2 - t1;
-		printf("gradient rendered in %f sec\n", total);
-
-		RConvertImage(ctx, imgh, &pix);
-		gettimeofday(&timev, NULL);
-		t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-		total = t1 - t2;
-		rt += total;
-		printf("image converted in %f sec\n", total);
-
-		XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 0, 0);
-
-		XFlush(dpy);
-	}
-	t1 = (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-	printf("------------------------------------------\n");
-	printf("%i images processed in %f sec\n", i, t1 - t);
-	printf("average time per convertion %f sec\n", rt / i);
-	printf("------------------------------------------\n");
-#else
 	imgh = RRenderMultiGradient(250, 250, colors, RGRD_HORIZONTAL);
 	imgv = RRenderMultiGradient(250, 250, colors, RGRD_VERTICAL);
 	imgd = RRenderMultiGradient(250, 250, colors, RGRD_DIAGONAL);
@@ -198,7 +143,6 @@ int main(int argc, char **argv)
 	XCopyArea(dpy, pix, win, ctx->copy_gc, 0, 0, 250, 250, 500, 0);
 
 	XFlush(dpy);
-#endif
 
 	getchar();
 	return 0;
-- 
1.7.0.4

Reply via email to