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
		
			
				
	
	
		
			351 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			351 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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
 |