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): ...@@ -4,7 +4,7 @@ class SimpleIntegerArithmetic(Test):
version = 0.3 version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 120000 rounds = 1200*21
def test(self): def test(self):
...@@ -159,7 +159,7 @@ class SimpleFloatArithmetic(Test): ...@@ -159,7 +159,7 @@ class SimpleFloatArithmetic(Test):
version = 0.3 version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 100000 rounds = 1000*30
def test(self): def test(self):
...@@ -314,7 +314,7 @@ class SimpleIntFloatArithmetic(Test): ...@@ -314,7 +314,7 @@ class SimpleIntFloatArithmetic(Test):
version = 0.3 version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 120000 rounds = 1200*30
def test(self): def test(self):
...@@ -470,7 +470,7 @@ class SimpleLongArithmetic(Test): ...@@ -470,7 +470,7 @@ class SimpleLongArithmetic(Test):
version = 0.3 version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 30000 rounds = 300*32
def test(self): def test(self):
...@@ -625,7 +625,7 @@ class SimpleComplexArithmetic(Test): ...@@ -625,7 +625,7 @@ class SimpleComplexArithmetic(Test):
version = 0.3 version = 0.3
operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
rounds = 40000 rounds = 400*27
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class PythonFunctionCalls(Test): ...@@ -4,7 +4,7 @@ class PythonFunctionCalls(Test):
version = 0.3 version = 0.3
operations = 5*(1+4+4+2) operations = 5*(1+4+4+2)
rounds = 60000 rounds = 600*22
def test(self): def test(self):
...@@ -113,7 +113,7 @@ class BuiltinFunctionCalls(Test): ...@@ -113,7 +113,7 @@ class BuiltinFunctionCalls(Test):
version = 0.4 version = 0.4
operations = 5*(2+5+5+5) operations = 5*(2+5+5+5)
rounds = 30000 rounds = 300*24
def test(self): def test(self):
...@@ -234,7 +234,7 @@ class PythonMethodCalls(Test): ...@@ -234,7 +234,7 @@ class PythonMethodCalls(Test):
version = 0.3 version = 0.3
operations = 5*(6 + 5 + 4) operations = 5*(6 + 5 + 4)
rounds = 20000 rounds = 200*27
def test(self): def test(self):
...@@ -376,7 +376,7 @@ class Recursion(Test): ...@@ -376,7 +376,7 @@ class Recursion(Test):
version = 0.3 version = 0.3
operations = 5 operations = 5
rounds = 50000 rounds = 500*21
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class IfThenElse(Test): ...@@ -4,7 +4,7 @@ class IfThenElse(Test):
version = 0.31 version = 0.31
operations = 30*3 # hard to say... operations = 30*3 # hard to say...
rounds = 150000 rounds = 1500*27
def test(self): def test(self):
...@@ -471,7 +471,7 @@ class NestedForLoops(Test): ...@@ -471,7 +471,7 @@ class NestedForLoops(Test):
version = 0.3 version = 0.3
operations = 1000*10*5 operations = 1000*10*5
rounds = 150 rounds = 100
def test(self): def test(self):
...@@ -496,7 +496,7 @@ class ForLoops(Test): ...@@ -496,7 +496,7 @@ class ForLoops(Test):
version = 0.1 version = 0.1
operations = 5 * 5 operations = 5 * 5
rounds = 8000 rounds = 80*25
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class DictCreation(Test): ...@@ -4,7 +4,7 @@ class DictCreation(Test):
version = 0.3 version = 0.3
operations = 5*(5 + 5) operations = 5*(5 + 5)
rounds = 60000 rounds = 600*24
def test(self): def test(self):
...@@ -79,7 +79,7 @@ class DictWithStringKeys(Test): ...@@ -79,7 +79,7 @@ class DictWithStringKeys(Test):
version = 0.1 version = 0.1
operations = 5*(6 + 6) operations = 5*(6 + 6)
rounds = 200000 rounds = 2000*30
def test(self): def test(self):
...@@ -168,7 +168,7 @@ class DictWithFloatKeys(Test): ...@@ -168,7 +168,7 @@ class DictWithFloatKeys(Test):
version = 0.1 version = 0.1
operations = 5*(6 + 6) operations = 5*(6 + 6)
rounds = 200000 rounds = 20000
def test(self): def test(self):
...@@ -257,7 +257,7 @@ class DictWithIntegerKeys(Test): ...@@ -257,7 +257,7 @@ class DictWithIntegerKeys(Test):
version = 0.1 version = 0.1
operations = 5*(6 + 6) operations = 5*(6 + 6)
rounds = 200000 rounds = 2000*19
def test(self): def test(self):
...@@ -346,7 +346,7 @@ class SimpleDictManipulation(Test): ...@@ -346,7 +346,7 @@ class SimpleDictManipulation(Test):
version = 0.3 version = 0.3
operations = 5*(6 + 6 + 6 + 6) operations = 5*(6 + 6 + 6 + 6)
rounds = 50000 rounds = 500*44
def test(self): 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): ...@@ -4,7 +4,7 @@ class TryRaiseExcept(Test):
version = 0.1 version = 0.1
operations = 2 + 3 operations = 2 + 3
rounds = 60000 rounds = 600*25
def test(self): def test(self):
...@@ -44,7 +44,7 @@ class TryExcept(Test): ...@@ -44,7 +44,7 @@ class TryExcept(Test):
version = 0.1 version = 0.1
operations = 15 * 10 operations = 15 * 10
rounds = 200000 rounds = 2000*16
def test(self): def test(self):
......
...@@ -8,7 +8,7 @@ class SecondImport(Test): ...@@ -8,7 +8,7 @@ class SecondImport(Test):
version = 0.1 version = 0.1
operations = 5 * 5 operations = 5 * 5
rounds = 20000 rounds = 2000*15
def test(self): def test(self):
...@@ -53,7 +53,7 @@ class SecondPackageImport(Test): ...@@ -53,7 +53,7 @@ class SecondPackageImport(Test):
version = 0.1 version = 0.1
operations = 5 * 5 operations = 5 * 5
rounds = 20000 rounds = 200*20
def test(self): def test(self):
...@@ -97,7 +97,7 @@ class SecondSubmoduleImport(Test): ...@@ -97,7 +97,7 @@ class SecondSubmoduleImport(Test):
version = 0.1 version = 0.1
operations = 5 * 5 operations = 5 * 5
rounds = 20000 rounds = 200*17
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class CreateInstances(Test): ...@@ -4,7 +4,7 @@ class CreateInstances(Test):
version = 0.2 version = 0.2
operations = 3 + 7 + 4 operations = 3 + 7 + 4
rounds = 60000 rounds = 600*17
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class SimpleListManipulation(Test): ...@@ -4,7 +4,7 @@ class SimpleListManipulation(Test):
version = 0.3 version = 0.3
operations = 5* (6 + 6 + 6) operations = 5* (6 + 6 + 6)
rounds = 60000 rounds = 600*45
def test(self): def test(self):
...@@ -132,7 +132,7 @@ class ListSlicing(Test): ...@@ -132,7 +132,7 @@ class ListSlicing(Test):
version = 0.4 version = 0.4
operations = 25*(3+1+2+1) operations = 25*(3+1+2+1)
rounds = 400 rounds = 4*45
def test(self): def test(self):
...@@ -169,7 +169,7 @@ class SmallLists(Test): ...@@ -169,7 +169,7 @@ class SmallLists(Test):
version = 0.3 version = 0.3
operations = 5*(1+ 6 + 6 + 3 + 1) operations = 5*(1+ 6 + 6 + 3 + 1)
rounds = 60000 rounds = 600*15
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class SpecialClassAttribute(Test): ...@@ -4,7 +4,7 @@ class SpecialClassAttribute(Test):
version = 0.3 version = 0.3
operations = 5*(12 + 12) operations = 5*(12 + 12)
rounds = 100000 rounds = 1000*16
def test(self): def test(self):
...@@ -185,7 +185,7 @@ class NormalClassAttribute(Test): ...@@ -185,7 +185,7 @@ class NormalClassAttribute(Test):
version = 0.3 version = 0.3
operations = 5*(12 + 12) operations = 5*(12 + 12)
rounds = 100000 rounds = 1000*20
def test(self): def test(self):
...@@ -371,7 +371,7 @@ class SpecialInstanceAttribute(Test): ...@@ -371,7 +371,7 @@ class SpecialInstanceAttribute(Test):
version = 0.3 version = 0.3
operations = 5*(12 + 12) operations = 5*(12 + 12)
rounds = 100000 rounds = 1000*14
def test(self): def test(self):
...@@ -559,7 +559,7 @@ class NormalInstanceAttribute(Test): ...@@ -559,7 +559,7 @@ class NormalInstanceAttribute(Test):
version = 0.3 version = 0.3
operations = 5*(12 + 12) operations = 5*(12 + 12)
rounds = 100000 rounds = 1000*22
def test(self): def test(self):
...@@ -747,7 +747,7 @@ class BuiltinMethodLookup(Test): ...@@ -747,7 +747,7 @@ class BuiltinMethodLookup(Test):
version = 0.3 version = 0.3
operations = 5*(3*5 + 3*5) operations = 5*(3*5 + 3*5)
rounds = 70000 rounds = 700*15
def test(self): 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): ...@@ -4,7 +4,7 @@ class CompareIntegers(Test):
version = 0.1 version = 0.1
operations = 30 * 5 operations = 30 * 5
rounds = 120000 rounds = 1200*21
def test(self): def test(self):
...@@ -200,7 +200,7 @@ class CompareFloats(Test): ...@@ -200,7 +200,7 @@ class CompareFloats(Test):
version = 0.1 version = 0.1
operations = 30 * 5 operations = 30 * 5
rounds = 60000 rounds = 600*27
def test(self): def test(self):
...@@ -396,7 +396,7 @@ class CompareFloatsIntegers(Test): ...@@ -396,7 +396,7 @@ class CompareFloatsIntegers(Test):
version = 0.1 version = 0.1
operations = 30 * 5 operations = 30 * 5
rounds = 60000 rounds = 600*16
def test(self): def test(self):
...@@ -592,7 +592,7 @@ class CompareLongs(Test): ...@@ -592,7 +592,7 @@ class CompareLongs(Test):
version = 0.1 version = 0.1
operations = 30 * 5 operations = 30 * 5
rounds = 60000 rounds = 600*24
def test(self): def test(self):
......
...@@ -17,11 +17,16 @@ Number_of_rounds = 10 ...@@ -17,11 +17,16 @@ Number_of_rounds = 10
Warp_factor = 20 Warp_factor = 20
# Import tests # Import tests
#from Empty import *
from Arithmetic import * from Arithmetic import *
from Calls import * from Calls import *
from Constructs import * from Constructs import *
from Lookups import * from Lookups import *
from Instances import * from Instances import *
try:
from NewInstances import *
except:
print "Cannot test new-style objects"
from Lists import * from Lists import *
from Tuples import * from Tuples import *
from Dict import * from Dict import *
......
...@@ -5,7 +5,7 @@ class ConcatStrings(Test): ...@@ -5,7 +5,7 @@ class ConcatStrings(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 60000 rounds = 6000
def test(self): def test(self):
...@@ -87,7 +87,7 @@ class CompareStrings(Test): ...@@ -87,7 +87,7 @@ class CompareStrings(Test):
version = 0.2 version = 0.2
operations = 10 * 5 operations = 10 * 5
rounds = 200000 rounds = 2000*22
def test(self): def test(self):
...@@ -169,7 +169,7 @@ class CompareInternedStrings(Test): ...@@ -169,7 +169,7 @@ class CompareInternedStrings(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 200000 rounds = 2000*28
def test(self): def test(self):
...@@ -251,7 +251,7 @@ class CreateStringsWithConcat(Test): ...@@ -251,7 +251,7 @@ class CreateStringsWithConcat(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 80000 rounds = 800*32
def test(self): def test(self):
...@@ -326,7 +326,7 @@ class StringSlicing(Test): ...@@ -326,7 +326,7 @@ class StringSlicing(Test):
version = 0.1 version = 0.1
operations = 5 * 7 operations = 5 * 7
rounds = 100000 rounds = 1000*15
def test(self): def test(self):
...@@ -389,7 +389,7 @@ if hasattr('', 'lower'): ...@@ -389,7 +389,7 @@ if hasattr('', 'lower'):
version = 0.1 version = 0.1
operations = 3 * (5 + 4 + 2 + 1) operations = 3 * (5 + 4 + 2 + 1)
rounds = 70000 rounds = 14000
def test(self): def test(self):
...@@ -462,7 +462,7 @@ if hasattr('', 'lower'): ...@@ -462,7 +462,7 @@ if hasattr('', 'lower'):
version = 0.1 version = 0.1
operations = 10 * 7 operations = 10 * 7
rounds = 80000 rounds = 800*24
def test(self): def test(self):
......
...@@ -4,7 +4,7 @@ class TupleSlicing(Test): ...@@ -4,7 +4,7 @@ class TupleSlicing(Test):
version = 0.31 version = 0.31
operations = 3 * 25 * 10 * 7 operations = 3 * 25 * 10 * 7
rounds = 400 rounds = 100
def test(self): def test(self):
...@@ -272,7 +272,7 @@ class SmallTuples(Test): ...@@ -272,7 +272,7 @@ class SmallTuples(Test):
version = 0.3 version = 0.3
operations = 5*(1 + 3 + 6 + 2) operations = 5*(1 + 3 + 6 + 2)
rounds = 80000 rounds = 800*16
def test(self): def test(self):
......
...@@ -10,7 +10,7 @@ class ConcatUnicode(Test): ...@@ -10,7 +10,7 @@ class ConcatUnicode(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 60000 rounds = 600*7
def test(self): def test(self):
...@@ -92,7 +92,7 @@ class CompareUnicode(Test): ...@@ -92,7 +92,7 @@ class CompareUnicode(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 150000 rounds = 1500*17
def test(self): def test(self):
...@@ -174,7 +174,7 @@ class CreateUnicodeWithConcat(Test): ...@@ -174,7 +174,7 @@ class CreateUnicodeWithConcat(Test):
version = 0.1 version = 0.1
operations = 10 * 5 operations = 10 * 5
rounds = 80000 rounds = 800*12
def test(self): def test(self):
...@@ -249,7 +249,7 @@ class UnicodeSlicing(Test): ...@@ -249,7 +249,7 @@ class UnicodeSlicing(Test):
version = 0.1 version = 0.1
operations = 5 * 7 operations = 5 * 7
rounds = 100000 rounds = 10000
def test(self): def test(self):
...@@ -310,7 +310,7 @@ class UnicodeMappings(Test): ...@@ -310,7 +310,7 @@ class UnicodeMappings(Test):
version = 0.1 version = 0.1
operations = 3 * (5 + 4 + 2 + 1) operations = 3 * (5 + 4 + 2 + 1)
rounds = 10000 rounds = 100*15
def test(self): def test(self):
...@@ -383,7 +383,7 @@ class UnicodePredicates(Test): ...@@ -383,7 +383,7 @@ class UnicodePredicates(Test):
version = 0.1 version = 0.1
operations = 5 * 9 operations = 5 * 9
rounds = 100000 rounds = 1000*25
def test(self): def test(self):
...@@ -460,7 +460,7 @@ else: ...@@ -460,7 +460,7 @@ else:
version = 0.1 version = 0.1
operations = 5 * 8 operations = 5 * 8
rounds = 100000 rounds = 1000*15
def test(self): 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