from pybench import Test class SimpleListManipulation(Test): version = 2.0 operations = 5* (6 + 6 + 6) rounds = 130000 def test(self): l = [] append = l.append for i in xrange(self.rounds): append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 x = l[0] x = l[1] x = l[2] x = l[3] x = l[4] x = l[5] append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 x = l[0] x = l[1] x = l[2] x = l[3] x = l[4] x = l[5] append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 x = l[0] x = l[1] x = l[2] x = l[3] x = l[4] x = l[5] append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 x = l[0] x = l[1] x = l[2] x = l[3] x = l[4] x = l[5] append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 x = l[0] x = l[1] x = l[2] x = l[3] x = l[4] x = l[5] if len(l) > 10000: # cut down the size del l[:] def calibrate(self): l = [] append = l.append for i in xrange(self.rounds): pass class ListSlicing(Test): version = 2.0 operations = 25*(3+1+2+1) rounds = 800 def test(self): n = range(100) r = range(25) for i in xrange(self.rounds): l = n[:] for j in r: m = l[50:] m = l[:25] m = l[50:55] l[:3] = n m = l[:-1] m = l[1:] l[-1:] = n def calibrate(self): n = range(100) r = range(25) for i in xrange(self.rounds): for j in r: pass class SmallLists(Test): version = 2.0 operations = 5*(1+ 6 + 6 + 3 + 1) rounds = 80000 def test(self): for i in xrange(self.rounds): l = [] append = l.append append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 l[:3] = [1,2,3] m = l[:-1] m = l[1:] l[-1:] = [4,5,6] l = [] append = l.append append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 l[:3] = [1,2,3] m = l[:-1] m = l[1:] l[-1:] = [4,5,6] l = [] append = l.append append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 l[:3] = [1,2,3] m = l[:-1] m = l[1:] l[-1:] = [4,5,6] l = [] append = l.append append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 l[:3] = [1,2,3] m = l[:-1] m = l[1:] l[-1:] = [4,5,6] l = [] append = l.append append(2) append(3) append(4) append(2) append(3) append(4) l[0] = 3 l[1] = 4 l[2] = 5 l[3] = 3 l[4] = 4 l[5] = 5 l[:3] = [1,2,3] m = l[:-1] m = l[1:] l[-1:] = [4,5,6] def calibrate(self): for i in xrange(self.rounds): pass
from pybench import Test
class SimpleListManipulation(Test):
version = 2.0
operations = 5* (6 + 6 + 6)
rounds = 130000
def test(self):
l = []
append = l.append
for i in xrange(self.rounds):
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
if len(l) > 10000:
# cut down the size
del l[:]
def calibrate(self):
l = []
append = l.append
for i in xrange(self.rounds):
pass
class ListSlicing(Test):
version = 2.0
operations = 25*(3+1+2+1)
rounds = 800
def test(self):
n = range(100)
r = range(25)
for i in xrange(self.rounds):
l = n[:]
for j in r:
m = l[50:]
m = l[:25]
m = l[50:55]
l[:3] = n
m = l[:-1]
m = l[1:]
l[-1:] = n
def calibrate(self):
n = range(100)
r = range(25)
for i in xrange(self.rounds):
for j in r:
pass
class SmallLists(Test):
version = 2.0
operations = 5*(1+ 6 + 6 + 3 + 1)
rounds = 80000
def test(self):
for i in xrange(self.rounds):
l = []
append = l.append
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
append = l.append
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
append = l.append
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
append = l.append
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
append = l.append
append(2)
append(3)
append(4)
append(2)
append(3)
append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
def calibrate(self):
for i in xrange(self.rounds):
pass