Riju21

27_yield

Mar 29th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. import memory_profiler
  2. import random
  3. import time
  4.  
  5. print('memory before: {} mb'.format(memory_profiler.memory_usage()))
  6.  
  7. name = ['js', 'php', 'python']
  8. major = ['front-end', 'server', 'machine-learning']
  9.  
  10. def peopleList(num):
  11.     result = []
  12.     for i in range(num):
  13.         person = {
  14.             'id': i,
  15.             'name': random.choice(name),
  16.             'major': random.choice(major)
  17.         }
  18.         result.append(person)
  19.     return result
  20.  
  21. def generator(num):
  22.     for i in range(num):
  23.         person = {
  24.             'id': i,
  25.             'name': random.choice(name),
  26.             'major': random.choice(major)
  27.         }
  28.         yield person
  29.  
  30. # time consuming
  31. # -----------------
  32.  
  33. # t1 = time.perf_counter()
  34. # output = peopleList(1000)
  35. # t2 = time.perf_counter()
  36.  
  37. # time efficient
  38. # ----------------
  39. t1 = time.perf_counter()
  40. output = generator(1000)
  41. t2 = time.perf_counter()
  42.  
  43. print('memory after: {} mb'.format(memory_profiler.memory_usage()))
  44. print('took {} sec'.format(t2 - t1))
Advertisement
Add Comment
Please, Sign In to add comment