Advertisement
Guest User

Untitled

a guest
Feb 12th, 2013
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.66 KB | None | 0 0
  1. import timeit
  2.  
  3. try:
  4.     xrange
  5. except:
  6.     xrange = range
  7.  
  8. def ft(): pass
  9. def ff(): pass
  10.  
  11. def f_orig(b):
  12.     for i in range(1000000):
  13.         if b: ft()
  14.         else: ff()
  15.  
  16. def f_opopt(b):
  17.     if b:
  18.         for i in range(1000000):
  19.             ft()
  20.     else:
  21.         for i in range(1000000):
  22.             ff()
  23.  
  24. def f_dsm(b):
  25.     f = ft if b else ff
  26.     for i in range(1000000):
  27.         f()
  28.  
  29. def f_rebind(b):
  30.     f, t = ft, ff
  31.     for i in range(1000000):
  32.         if b: f()
  33.         else: t()
  34.  
  35. def test():
  36.     for f in f_orig, f_opopt, f_dsm, f_rebind:
  37.         print('{}: {}', f.__name__, timeit.timeit(lambda: f(True), number=10))
  38.  
  39. test()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement