Package SmootLight :: Module TestProfile
[hide private]
[frames] | no frames]

Source Code for Module SmootLight.TestProfile

 1  import cProfile 
 2  import struct 
 3  import random 
 4  import scipy.weave as weave 
 5  import math 
 6  #from LightInstallation import main 
 7  numiter = 1000000 
8 -def main1():
9 for i in xrange(0,numiter): 10 if 'abc' == 'def': 11 pass 12 if 'abc' == 'abc': 13 pass
14
15 -def main2():
16 for i in xrange(0,numiter): 17 if 1 == 2: 18 pass 19 if 1 == 1: 20 pass
21 22 x = [1,2,3] 23 a = []
24 -def abc1():
25 for i in range(0,numiter): 26 a = min(4, 255) 27 b = min(257, 255)
28
29 -def abc2():
30 for i in range(0,numiter): 31 a = 4 if 4 < 255 else 255 32 b = 257 if 257 < 255 else 255
33 -def strucpack():
34 for i in xrange(0,numiter): 35 b = struct.pack('B', random.randint(0,255))
36 -def dictlookup():
37 lookup = {} 38 for i in xrange(0,256): 39 lookup[i] = struct.pack('B', random.randint(0,255)) 40 for i in xrange(0,numiter): 41 b = lookup[random.randint(0,255)]
42 -def dist1():
43 l1 = [21.43, 5423.123] 44 l2 = [123, 12312345] 45 for i in xrange(0,numiter): 46 d = math.sqrt(sum([(l1[i]-l2[i])**2 for i in range(len(l1))]))
47 -def dist2():
48 l1 = [21.43, 5423.123] 49 l2 = [123, 12312345] 50 for i in xrange(0,numiter): 51 d = math.sqrt((l1[0]-l2[0])**2+(l1[1]-l2[1])**2)
52 -def exptest():
53 for i in xrange(0, numiter): 54 a = math.exp(-1) 55 print a
56 -def expapprox():
57 for i in xrange(0, numiter): 58 a = 1+-1+(-1)**2/float(2) 59 print a
60
61 -def normal_python():
62 for i in xrange(0,numiter): 63 a = math.sqrt(3 + 4 + 5)
64
65 -def weave_outloop():
66 code = """ 67 float x = 0; 68 for (int i = 0;i < numiter;i++) { 69 x = sqrt(3 + 4 + 5); 70 } 71 """ 72 weave.inline(code, ['numiter'])
73
74 -def weave_inloop():
75 code = """ 76 x = sqrt(3 + 4 + 5); 77 """ 78 x = 0.0 79 for i in xrange(0,numiter): 80 weave.inline(code, ['x'])
81 82 command = """normal_python()""" 83 cProfile.runctx(command, globals(), locals()) 84 85 command = """weave_outloop()""" 86 cProfile.runctx(command, globals(), locals()) 87 88 command = """weave_inloop()""" 89 cProfile.runctx(command, globals(), locals()) 90