Kaydet (Commit) 431a7631 authored tarafından Steve Holden's avatar Steve Holden

Add -t option to allow easy test selection.

Action verbose option correctly.
Tweak operation counts. Add empty and new instances tests.
Enable comparisons across different warp factors. Change version.
üst 0cbf2c57
......@@ -4,7 +4,7 @@ class SimpleIntegerArithmetic(Test):
version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 120000
rounds = 1200*21
def test(self):
......@@ -159,7 +159,7 @@ class SimpleFloatArithmetic(Test):
version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 100000
rounds = 1000*30
def test(self):
......@@ -314,7 +314,7 @@ class SimpleIntFloatArithmetic(Test):
version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 120000
rounds = 1200*30
def test(self):
......@@ -470,7 +470,7 @@ class SimpleLongArithmetic(Test):
version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 30000
rounds = 300*32
def test(self):
......@@ -625,7 +625,7 @@ class SimpleComplexArithmetic(Test):
version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 40000
rounds = 400*27
def test(self):
......
......@@ -4,7 +4,7 @@ class PythonFunctionCalls(Test):
version = 0.3
operations = 5*(1+4+4+2)
rounds = 60000
rounds = 600*22
def test(self):
......@@ -113,7 +113,7 @@ class BuiltinFunctionCalls(Test):
version = 0.4
operations = 5*(2+5+5+5)
rounds = 30000
rounds = 300*24
def test(self):
......@@ -234,7 +234,7 @@ class PythonMethodCalls(Test):
version = 0.3
operations = 5*(6 + 5 + 4)
rounds = 20000
rounds = 200*27
def test(self):
......@@ -376,7 +376,7 @@ class Recursion(Test):
version = 0.3
operations = 5
rounds = 50000
rounds = 500*21
def test(self):
......
......@@ -4,7 +4,7 @@ class IfThenElse(Test):
version = 0.31
operations = 30*3 # hard to say...
rounds = 150000
rounds = 1500*27
def test(self):
......@@ -471,7 +471,7 @@ class NestedForLoops(Test):
version = 0.3
operations = 1000*10*5
rounds = 150
rounds = 100
def test(self):
......@@ -496,7 +496,7 @@ class ForLoops(Test):
version = 0.1
operations = 5 * 5
rounds = 8000
rounds = 80*25
def test(self):
......
......@@ -4,7 +4,7 @@ class DictCreation(Test):
version = 0.3
operations = 5*(5 + 5)
rounds = 60000
rounds = 600*24
def test(self):
......@@ -79,7 +79,7 @@ class DictWithStringKeys(Test):
version = 0.1
operations = 5*(6 + 6)
rounds = 200000
rounds = 2000*30
def test(self):
......@@ -168,7 +168,7 @@ class DictWithFloatKeys(Test):
version = 0.1
operations = 5*(6 + 6)
rounds = 200000
rounds = 20000
def test(self):
......@@ -257,7 +257,7 @@ class DictWithIntegerKeys(Test):
version = 0.1
operations = 5*(6 + 6)
rounds = 200000
rounds = 2000*19
def test(self):
......@@ -346,7 +346,7 @@ class SimpleDictManipulation(Test):
version = 0.3
operations = 5*(6 + 6 + 6 + 6)
rounds = 50000
rounds = 500*44
def test(self):
......
from pybench import Test
class EmptyTest(Test):
"""This is just here as a potential measure of repeatability."""
version = 0.3
operations = 1
rounds = 60000
def test(self):
l = []
for i in xrange(self.rounds):
pass
def calibrate(self):
l = []
for i in xrange(self.rounds):
pass
......@@ -4,7 +4,7 @@ class TryRaiseExcept(Test):
version = 0.1
operations = 2 + 3
rounds = 60000
rounds = 600*25
def test(self):
......@@ -44,7 +44,7 @@ class TryExcept(Test):
version = 0.1
operations = 15 * 10
rounds = 200000
rounds = 2000*16
def test(self):
......
......@@ -8,7 +8,7 @@ class SecondImport(Test):
version = 0.1
operations = 5 * 5
rounds = 20000
rounds = 2000*15
def test(self):
......@@ -53,7 +53,7 @@ class SecondPackageImport(Test):
version = 0.1
operations = 5 * 5
rounds = 20000
rounds = 200*20
def test(self):
......@@ -97,7 +97,7 @@ class SecondSubmoduleImport(Test):
version = 0.1
operations = 5 * 5
rounds = 20000
rounds = 200*17
def test(self):
......
......@@ -4,7 +4,7 @@ class CreateInstances(Test):
version = 0.2
operations = 3 + 7 + 4
rounds = 60000
rounds = 600*17
def test(self):
......
......@@ -4,7 +4,7 @@ class SimpleListManipulation(Test):
version = 0.3
operations = 5* (6 + 6 + 6)
rounds = 60000
rounds = 600*45
def test(self):
......@@ -132,7 +132,7 @@ class ListSlicing(Test):
version = 0.4
operations = 25*(3+1+2+1)
rounds = 400
rounds = 4*45
def test(self):
......@@ -169,7 +169,7 @@ class SmallLists(Test):
version = 0.3
operations = 5*(1+ 6 + 6 + 3 + 1)
rounds = 60000
rounds = 600*15
def test(self):
......
......@@ -4,7 +4,7 @@ class SpecialClassAttribute(Test):
version = 0.3
operations = 5*(12 + 12)
rounds = 100000
rounds = 1000*16
def test(self):
......@@ -185,7 +185,7 @@ class NormalClassAttribute(Test):
version = 0.3
operations = 5*(12 + 12)
rounds = 100000
rounds = 1000*20
def test(self):
......@@ -371,7 +371,7 @@ class SpecialInstanceAttribute(Test):
version = 0.3
operations = 5*(12 + 12)
rounds = 100000
rounds = 1000*14
def test(self):
......@@ -559,7 +559,7 @@ class NormalInstanceAttribute(Test):
version = 0.3
operations = 5*(12 + 12)
rounds = 100000
rounds = 1000*22
def test(self):
......@@ -747,7 +747,7 @@ class BuiltinMethodLookup(Test):
version = 0.3
operations = 5*(3*5 + 3*5)
rounds = 70000
rounds = 700*15
def test(self):
......
from pybench import Test
class CreateNewInstances(Test):
version = 0.1
operations = 3 + 7 + 4
rounds = 60000
def test(self):
class c(object):
pass
class d(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
class e(object):
def __init__(self,a,b,c=4):
self.a = a
self.b = b
self.c = c
self.d = a
self.e = b
self.f = c
for i in xrange(self.rounds):
o = c()
o1 = c()
o2 = c()
p = d(i,i,3)
p1 = d(i,i,3)
p2 = d(i,3,3)
p3 = d(3,i,3)
p4 = d(i,i,i)
p5 = d(3,i,3)
p6 = d(i,i,i)
q = e(i,i,3)
q1 = e(i,i,3)
q2 = e(i,i,3)
q3 = e(i,i)
def calibrate(self):
class c(object):
pass
class d(object):
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
class e(object):
def __init__(self,a,b,c=4):
self.a = a
self.b = b
self.c = c
self.d = a
self.e = b
self.f = c
for i in xrange(self.rounds):
pass
......@@ -4,7 +4,7 @@ class CompareIntegers(Test):
version = 0.1
operations = 30 * 5
rounds = 120000
rounds = 1200*21
def test(self):
......@@ -200,7 +200,7 @@ class CompareFloats(Test):
version = 0.1
operations = 30 * 5
rounds = 60000
rounds = 600*27
def test(self):
......@@ -396,7 +396,7 @@ class CompareFloatsIntegers(Test):
version = 0.1
operations = 30 * 5
rounds = 60000
rounds = 600*16
def test(self):
......@@ -592,7 +592,7 @@ class CompareLongs(Test):
version = 0.1
operations = 30 * 5
rounds = 60000
rounds = 600*24
def test(self):
......
......@@ -17,11 +17,16 @@ Number_of_rounds = 10
Warp_factor = 20
# Import tests
#from Empty import *
from Arithmetic import *
from Calls import *
from Constructs import *
from Lookups import *
from Instances import *
try:
from NewInstances import *
except:
print "Cannot test new-style objects"
from Lists import *
from Tuples import *
from Dict import *
......
......@@ -5,7 +5,7 @@ class ConcatStrings(Test):
version = 0.1
operations = 10 * 5
rounds = 60000
rounds = 6000
def test(self):
......@@ -87,7 +87,7 @@ class CompareStrings(Test):
version = 0.2
operations = 10 * 5
rounds = 200000
rounds = 2000*22
def test(self):
......@@ -169,7 +169,7 @@ class CompareInternedStrings(Test):
version = 0.1
operations = 10 * 5
rounds = 200000
rounds = 2000*28
def test(self):
......@@ -251,7 +251,7 @@ class CreateStringsWithConcat(Test):
version = 0.1
operations = 10 * 5
rounds = 80000
rounds = 800*32
def test(self):
......@@ -326,7 +326,7 @@ class StringSlicing(Test):
version = 0.1
operations = 5 * 7
rounds = 100000
rounds = 1000*15
def test(self):
......@@ -389,7 +389,7 @@ if hasattr('', 'lower'):
version = 0.1
operations = 3 * (5 + 4 + 2 + 1)
rounds = 70000
rounds = 14000
def test(self):
......@@ -462,7 +462,7 @@ if hasattr('', 'lower'):
version = 0.1
operations = 10 * 7
rounds = 80000
rounds = 800*24
def test(self):
......
......@@ -4,7 +4,7 @@ class TupleSlicing(Test):
version = 0.31
operations = 3 * 25 * 10 * 7
rounds = 400
rounds = 100
def test(self):
......@@ -272,7 +272,7 @@ class SmallTuples(Test):
version = 0.3
operations = 5*(1 + 3 + 6 + 2)
rounds = 80000
rounds = 800*16
def test(self):
......
......@@ -10,7 +10,7 @@ class ConcatUnicode(Test):
version = 0.1
operations = 10 * 5
rounds = 60000
rounds = 600*7
def test(self):
......@@ -92,7 +92,7 @@ class CompareUnicode(Test):
version = 0.1
operations = 10 * 5
rounds = 150000
rounds = 1500*17
def test(self):
......@@ -174,7 +174,7 @@ class CreateUnicodeWithConcat(Test):
version = 0.1
operations = 10 * 5
rounds = 80000
rounds = 800*12
def test(self):
......@@ -249,7 +249,7 @@ class UnicodeSlicing(Test):
version = 0.1
operations = 5 * 7
rounds = 100000
rounds = 10000
def test(self):
......@@ -310,7 +310,7 @@ class UnicodeMappings(Test):
version = 0.1
operations = 3 * (5 + 4 + 2 + 1)
rounds = 10000
rounds = 100*15
def test(self):
......@@ -383,7 +383,7 @@ class UnicodePredicates(Test):
version = 0.1
operations = 5 * 9
rounds = 100000
rounds = 1000*25
def test(self):
......@@ -460,7 +460,7 @@ else:
version = 0.1
operations = 5 * 8
rounds = 100000
rounds = 1000*15
def test(self):
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment