AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site.
These files are a subset of the python-2.7.2.tgz distribution from python.org. Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution. Signed-off-by: daryl.mcdaniel@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
350
AppPkg/Applications/Python/Python-2.7.2/Tools/pybench/Lists.py
Normal file
350
AppPkg/Applications/Python/Python-2.7.2/Tools/pybench/Lists.py
Normal file
@ -0,0 +1,350 @@
|
||||
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
|
||||
|
||||
class SimpleListComprehensions(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 6
|
||||
rounds = 20000
|
||||
|
||||
def test(self):
|
||||
|
||||
n = range(10) * 10
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
l = [x for x in n]
|
||||
l = [x for x in n if x]
|
||||
l = [x for x in n if not x]
|
||||
|
||||
l = [x for x in n]
|
||||
l = [x for x in n if x]
|
||||
l = [x for x in n if not x]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
n = range(10) * 10
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
||||
|
||||
class NestedListComprehensions(Test):
|
||||
|
||||
version = 2.0
|
||||
operations = 6
|
||||
rounds = 20000
|
||||
|
||||
def test(self):
|
||||
|
||||
m = range(10)
|
||||
n = range(10)
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
l = [x for x in n for y in m]
|
||||
l = [y for x in n for y in m]
|
||||
|
||||
l = [x for x in n for y in m if y]
|
||||
l = [y for x in n for y in m if x]
|
||||
|
||||
l = [x for x in n for y in m if not y]
|
||||
l = [y for x in n for y in m if not x]
|
||||
|
||||
def calibrate(self):
|
||||
|
||||
m = range(10)
|
||||
n = range(10)
|
||||
|
||||
for i in xrange(self.rounds):
|
||||
pass
|
Reference in New Issue
Block a user