Advertisement
rfmonk

timeseq2.py

Jan 22nd, 2013
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/env python
  2. # from the book learning python
  3. # python 3
  4.  
  5. import sys, timer
  6. reps = 10000
  7. repslist = range(reps)
  8.  
  9. def forLoop():
  10.     res = []
  11.     for x in repslist:
  12.         res.append(x + 10)
  13.     return res
  14.  
  15. def listComp():
  16.     return [x + 10 for x in repslist]
  17.  
  18. def mapCall():
  19.     return list(map((lambda x: x + 10), repslist))
  20.  
  21. def genExpr():
  22.     return list(x + 10 for x in repslist)
  23.  
  24. def genFunc():
  25.     def gen():
  26.         for x in repslist:
  27.             yield x + 10
  28.     return list(gen())
  29.  
  30. print(sys.version)
  31. for test in (forLoop, listComp, mapCall, genExpr, genFunc):
  32.     elapsed, result = timer.timer(test)
  33.     print ('-' * 33)
  34.     print ('%-9s: %.5f => [%s...%s]' % (test.__name__, elapsed, result[0], result[-1]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement