[pypy-commit] extradoc extradoc: rename in benchmark implementations aswell

hakanardo noreply at buildbot.pypy.org
Mon Jun 20 20:27:34 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: extradoc
Changeset: r3758:024b96d33e91
Date: 2011-06-20 20:31 +0200
http://bitbucket.org/pypy/extradoc/changeset/024b96d33e91/

Log:	rename in benchmark implementations aswell

diff --git a/talk/iwtc11/benchmarks/benchmark.sh b/talk/iwtc11/benchmarks/benchmark.sh
--- a/talk/iwtc11/benchmarks/benchmark.sh
+++ b/talk/iwtc11/benchmarks/benchmark.sh
@@ -36,6 +36,7 @@
     $* ./runner.py $EXTRA_OPTS convolution/convolution.py conv3x3 1000000 3
     $* ./runner.py $EXTRA_OPTS convolution/convolution.py conv3x3 1000 1000
     $* ./runner.py $EXTRA_OPTS convolution/convolution.py dilate3x3 1000 1000
+    $* ./runner.py $EXTRA_OPTS convolution/convolution.py sobel_magnitude 1000 1000
     $* ./runner.py $EXTRA_OPTS image/noborder.py main NoBorderImagePadded
     $* ./runner.py $EXTRA_OPTS image/noborder.py main NoBorderImagePadded iter
     $* ./runner.py $EXTRA_OPTS image/noborder.py main NoBorderImagePadded range
diff --git a/talk/iwtc11/benchmarks/convolution/convolution.py b/talk/iwtc11/benchmarks/convolution/convolution.py
--- a/talk/iwtc11/benchmarks/convolution/convolution.py
+++ b/talk/iwtc11/benchmarks/convolution/convolution.py
@@ -1,5 +1,5 @@
 from array import array
-from math import log10
+from math import log10, sqrt
 
 def _conv3(a, k, n=1):
     assert len(k)==3
@@ -14,7 +14,7 @@
     n = int(args[0])
     _conv3(array('d', [1]) * (100000000/n),
            array('d', [-1, 0, 1]), n)
-    return 'conv3(1e%d)' % log10(100000000/n)
+    return 'conv3(array(1e%d))' % log10(100000000/n)
 
 def _conv5(a, k, n=1):
     assert len(k)==5
@@ -29,7 +29,7 @@
     n = int(args[0])
     _conv5(array('d', [1]) * (100000000/n),
            array('d', [1, 4, 6, 4, 1]), n)
-    return 'conv5(1e%d)' % log10(100000000/n)
+    return 'conv5(array(1e%d))' % log10(100000000/n)
 
 class Array2D(object):
     def __init__(self, w, h):
@@ -84,9 +84,28 @@
     return morphology3x3(a, k, min)
 
 def conv3x3(args):
-    _conv3x3(Array2D(int(args[0]), int(args[1])), Array2D(3,3))
-    return 'conv3x3(%s)' % args[1]
+    for i in range(10):
+        _conv3x3(Array2D(int(args[0]), int(args[1])), Array2D(3,3))
+    return 'conv3x3(Array2D(%sx%s))' % tuple(args)
 
 def dilate3x3(args):
-    _dilate3x3(Array2D(int(args[0]), int(args[1])), Array2D(3,3))
-    return 'dilate3x3(%s)' % args[1]
+    for i in range(10):
+        _dilate3x3(Array2D(int(args[0]), int(args[1])), Array2D(3,3))
+    return 'dilate3x3(Array2D(%sx%s))' % tuple(args)
+
+def _sobel_magnitude(a):
+    b = Array2D(a.width, a.height)    
+    for y in xrange(1, a.height-1):
+        for x in xrange(1, a.width-1):
+            dx = -1.0 * a[x-1, y-1] + 1.0 * a[x+1, y-1] + \
+                 -2.0 * a[x-1, y]   + 2.0 * a[x+1, y] + \
+                 -1.0 * a[x-1, y+1] + 1.0 * a[x+1, y+1]
+            dy = -1.0 * a[x-1, y-1] -2.0 * a[x, y-1] -1.0 * a[x+1, y-1] + \
+                  1.0 * a[x-1, y+1] +2.0 * a[x, y+1] +1.0 * a[x+1, y+1]
+            b[x, y] = sqrt(dx*dx + dy*dy) / 4.0
+    return b
+
+def sobel_magnitude(args):
+    for i in range(10):
+        _sobel_magnitude(Array2D(int(args[0]), int(args[1])))
+    return 'sobel(Array2D(%sx%s))' % tuple(args)
diff --git a/talk/iwtc11/benchmarks/convolution/time_conv2d.py b/talk/iwtc11/benchmarks/convolution/time_conv2d.py
--- a/talk/iwtc11/benchmarks/convolution/time_conv2d.py
+++ b/talk/iwtc11/benchmarks/convolution/time_conv2d.py
@@ -1,4 +1,4 @@
-from convolution import conv3x3, Array2D, dilate3x3, erode3x3
+from convolution import _conv3x3, Array2D, _dilate3x3, _erode3x3
 from array import array
 import sys, time
 
@@ -9,23 +9,23 @@
     pass
 
 # Warmup
-conv3x3(Array2D(1010, 1010), Array2D(3,3)) 
-dilate3x3(Array2D(1010, 1010), Array2D(3,3))
+_conv3x3(Array2D(1010, 1010), Array2D(3,3)) 
+_dilate3x3(Array2D(1010, 1010), Array2D(3,3))
 
 a = time.time()
 for i in range(10):
-    conv3x3(Array2D(1000000, 3), Array2D(3,3))
+    _conv3x3(Array2D(1000000, 3), Array2D(3,3))
 b = time.time()
 print 'conv3x3(3):   ', b - a
 
 a = time.time()
 for i in range(10):
-    conv3x3(Array2D(1000, 1000), Array2D(3,3))
+    _conv3x3(Array2D(1000, 1000), Array2D(3,3))
 b = time.time()
 print 'conv3x3(1000):', b - a
 
 a = time.time()
 for i in range(10):
-    dilate3x3(Array2D(1000, 1000), Array2D(3,3))
+    _dilate3x3(Array2D(1000, 1000), Array2D(3,3))
 b = time.time()
 print 'dilate3x3(1000):', b - a
diff --git a/talk/iwtc11/benchmarks/image/noborder.py b/talk/iwtc11/benchmarks/image/noborder.py
--- a/talk/iwtc11/benchmarks/image/noborder.py
+++ b/talk/iwtc11/benchmarks/image/noborder.py
@@ -143,7 +143,7 @@
     for i in range(10):
         func(Image(n, n), Image(3, 3))
     if len(args) > 1:
-        return '%s(%s)' % (Image.__name__, args[1])
+        return 'conv3x3%s(%s(%dx%d))' % (args[1], Image.__name__, n, n)
     else:
         return Image.__name__
 
@@ -167,17 +167,17 @@
     for i in range(10):
         conv3x3(Image(n, n), Image(3,3))
     b = time.time()
-    print '%s:' % Image.__name__, b - a
+    print 'conv3x3(%s(%dx%d)):' % (Image.__name__, n, n), b - a
 
     a = time.time()
     for i in range(10):
         conv3x3iter(Image(n, n), Image(3,3))
     b = time.time()
-    print '%s(iter):' % Image.__name__, b - a
+    print 'conv3x3iter(%s(%dx%d)):' % (Image.__name__, n, n), b - a
 
     a = time.time()
     for i in range(10):
         conv3x3range(Image(n, n), Image(3,3))
     b = time.time()
-    print '%s(range):' % Image.__name__, b - a
+    print 'conv3x3range(%s(%dx%d)):' % (Image.__name__, n, n), b - a
 
diff --git a/talk/iwtc11/benchmarks/image/sobel.cc b/talk/iwtc11/benchmarks/image/sobel.cc
--- a/talk/iwtc11/benchmarks/image/sobel.cc
+++ b/talk/iwtc11/benchmarks/image/sobel.cc
@@ -46,6 +46,6 @@
     sobel_magnitude(a, b);
     printf("%f\n", b(1,1));
   }
-  fprintf(stderr, "sobel_magnitude:  ", h);
+  fprintf(stderr, "sobel(Array2D(%dx%d)):  ", w, h);
   return 0;
 }
diff --git a/talk/iwtc11/benchmarks/image/sobel.py b/talk/iwtc11/benchmarks/image/sobel.py
--- a/talk/iwtc11/benchmarks/image/sobel.py
+++ b/talk/iwtc11/benchmarks/image/sobel.py
@@ -50,11 +50,11 @@
     if len(args) == 1:
         for i in range(10):
             sobel_magnitude(Image(n, n))
-        return 'sobel(%s)' % Image.__name__
+        return 'sobel(%s(%dx%d))' % (Image.__name__, n, n)
     else:
         for i in range(10):
             sobel_magnitude_uint8(Image(n, n, typecode='B'))
-        return 'sobel_uint8(%s)' % Image.__name__
+        return 'sobel_uint8(%s(%dx%d))' % (Image.__name__, n, n)
 
 if __name__ == '__main__':
     from io import mplayer, view
diff --git a/talk/iwtc11/paper.tex b/talk/iwtc11/paper.tex
--- a/talk/iwtc11/paper.tex
+++ b/talk/iwtc11/paper.tex
@@ -851,7 +851,7 @@
 \hline
 conv3x3(Array2D(1000x1000)) & 23.72 & 12.77 & 0.07 $\pm$ 0.00 & 0.05 $\pm$ 0.03 & 0.24 $\pm$ 0.00 & 0.25 $\pm$ 0.01\\
 \hline
-conv3x3(Array2D(1000x3)) & 23.85 & 12.77 & 0.10 $\pm$ 0.00 & 0.07 $\pm$ 0.00 & 0.27 $\pm$ 0.01 & 0.27 $\pm$ 0.01\\
+conv3x3(Array2D(1000000x3)) & 23.85 & 12.77 & 0.10 $\pm$ 0.00 & 0.07 $\pm$ 0.00 & 0.27 $\pm$ 0.01 & 0.27 $\pm$ 0.01\\
 \hline
 conv5(array(1e5)) & 122.54 & 16.67 & 1.86 $\pm$ 0.02 & 1.05 $\pm$ 0.03 & 1.03 $\pm$ 0.05 & 0.65 $\pm$ 0.01\\
 \hline


More information about the pypy-commit mailing list