mirror of
https://github.com/python/cpython.git
synced 2025-09-18 22:50:26 +00:00

Action verbose option correctly. Tweak operation counts. Add empty and new instances tests. Enable comparisons across different warp factors. Change version.
564 lines
13 KiB
Python
564 lines
13 KiB
Python
from pybench import Test
|
|
|
|
class IfThenElse(Test):
|
|
|
|
version = 0.31
|
|
operations = 30*3 # hard to say...
|
|
rounds = 1500*27
|
|
|
|
def test(self):
|
|
|
|
a,b,c = 1,2,3
|
|
for i in xrange(self.rounds):
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
if a == 1:
|
|
if b == 2:
|
|
if c != 3:
|
|
c = 3
|
|
b = 3
|
|
else:
|
|
c = 2
|
|
elif b == 3:
|
|
b = 2
|
|
a = 2
|
|
elif a == 2:
|
|
a = 3
|
|
else:
|
|
a = 1
|
|
|
|
def calibrate(self):
|
|
|
|
a,b,c = 1,2,3
|
|
for i in xrange(self.rounds):
|
|
pass
|
|
|
|
class NestedForLoops(Test):
|
|
|
|
version = 0.3
|
|
operations = 1000*10*5
|
|
rounds = 100
|
|
|
|
def test(self):
|
|
|
|
l1 = range(1000)
|
|
l2 = range(10)
|
|
l3 = range(5)
|
|
for i in xrange(self.rounds):
|
|
for i in l1:
|
|
for j in l2:
|
|
for k in l3:
|
|
pass
|
|
|
|
def calibrate(self):
|
|
|
|
l1 = range(1000)
|
|
l2 = range(10)
|
|
l3 = range(5)
|
|
for i in xrange(self.rounds):
|
|
pass
|
|
|
|
class ForLoops(Test):
|
|
|
|
version = 0.1
|
|
operations = 5 * 5
|
|
rounds = 80*25
|
|
|
|
def test(self):
|
|
|
|
l1 = range(100)
|
|
for i in xrange(self.rounds):
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
for i in l1:
|
|
pass
|
|
|
|
def calibrate(self):
|
|
|
|
l1 = range(1000)
|
|
for i in xrange(self.rounds):
|
|
pass
|