Advertisement
Guest User

test.py

a guest
Jan 26th, 2019
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.66 KB | None | 0 0
  1. import cProfile, pstats, io
  2. from pstats import SortKey
  3.  
  4.  
  5. def slow_sum(size):
  6.     x= 0
  7.     for i in range(size):
  8.         for j in range(size):
  9.             x += i + j
  10.     return x
  11.  
  12. def fast_sum(size):
  13.     return sum( [ (i+j) for j in range(size) for i in range(size)] )
  14.  
  15. pr = cProfile.Profile()
  16. pr.enable()
  17.  
  18. size = 2000
  19. slow_val = slow_sum(size)
  20. fast_val = fast_sum(size)
  21.  
  22. assert slow_val == fast_val, "Values are not equal"
  23.  
  24.  
  25.  
  26. pr.disable()
  27. s = io.StringIO()
  28. sortby = SortKey.CUMULATIVE
  29. ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
  30. ps.print_stats()
  31. fileStream = open("profile_stats.log","w")
  32. fileStream.write(s.getvalue())
  33. fileStream.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement