Guest User

python range vs xrange vs counter

a guest
Nov 27th, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. $ python /tmp/test.py
  2. range(5):   0.00632405281067
  3. xrange(5):  0.00562596321106
  4. count(5):   0.00800800323486
  5.  
  6. range(1000):   0.521214008331
  7. xrange(1000):  0.447746038437
  8. count(1000):   1.23153495789
  9.  
  10.  
  11.  
  12. $ cat /tmp/test.py
  13. import timeit
  14.  
  15. def loop_5_range():
  16.   unused = 0
  17.   for _ in range(5):
  18.      unused += 1
  19.   return unused
  20.  
  21. def loop_5_xrange():
  22.   unused = 0
  23.   for _ in xrange(5):
  24.      unused += 1
  25.   return unused
  26.  
  27. def loop_5_counter():
  28.   unused = 0
  29.   count = 5
  30.   while count:
  31.      unused += 1
  32.      count -= 1
  33.   return unused
  34.  
  35. def loop_1000_range():
  36.   unused = 0
  37.   for _ in range(1000):
  38.      unused += 1
  39.   return unused
  40.  
  41. def loop_1000_xrange():
  42.   unused = 0
  43.   for _ in xrange(1000):
  44.      unused += 1
  45.   return unused
  46.  
  47. def loop_1000_counter():
  48.   unused = 0
  49.   count = 1000
  50.   while count:
  51.      unused += 1
  52.      count -= 1
  53.   return unused
  54.  
  55. print 'range(5):  ',
  56. print timeit.timeit(loop_5_range, number=10000)
  57.  
  58. print 'xrange(5): ',
  59. print timeit.timeit(loop_5_xrange, number=10000)
  60.  
  61. print 'count(5):  ',
  62. print timeit.timeit(loop_5_counter, number=10000)
  63.  
  64. print
  65.  
  66. print 'range(1000):  ',
  67. print timeit.timeit(loop_1000_range, number=10000)
  68.  
  69. print 'xrange(1000): ',
  70. print timeit.timeit(loop_1000_xrange, number=10000)
  71.  
  72. print 'count(1000):  ',
  73. print timeit.timeit(loop_1000_counter, number=10000)
Advertisement
Add Comment
Please, Sign In to add comment