Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. import timeit
  2. import numpy as np
  3.  
  4. def test(ty, limit):
  5. def thing(n, m):
  6. x = ty('')
  7. hoisted = ty('a' * m)
  8. for _ in range(n):
  9. x += hoisted
  10.  
  11. xvals = []
  12. yvals = []
  13. for x in range(0, limit, 500):
  14. y = timeit.timeit(lambda: thing(x, 1000), number=1000)
  15. print('%d: %r' % (x, y))
  16. xvals.append(x)
  17. yvals.append(y)
  18.  
  19. return np.polyfit(xvals, yvals, 2)
  20.  
  21. print(test(str, 10001))
  22. # [ 2.20105955e-09 6.90650409e-05 1.87324922e-02]
  23. print(test(bytes, 10001))
  24. # [ 2.94627114e-09 6.88720223e-05 1.36304238e-02]
  25. print(test(list, 4001))
  26. # [ 1.84068582e-06 -1.62578855e-03 2.01160158e+00]
  27. print(test(bytearray, 10001))
  28. # [ 2.89900130e-09 7.34388859e-05 2.80596315e-02]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement