[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