Advertisement
Guest User

Untitled

a guest
Nov 28th, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. import timeit
  2. import random
  3.  
  4. acc = None
  5.  
  6. def sample():
  7. value = random.random()
  8. if value >= 0.5:
  9. return "+" + str(value)
  10. else:
  11. return str(value)
  12.  
  13. #
  14. def gauge_delta():
  15. global acc
  16. value = sample()
  17. try:
  18. if len(str(value)) > 0 and str(value)[0] in ('+'):
  19. if acc is None:
  20. acc = 0
  21. acc += float(value)
  22. else:
  23. acc = float(value)
  24. except ValueError:
  25. raise Exception("Cannot parse gauge value")
  26.  
  27. def gauge():
  28. value = sample()
  29. try:
  30. acc = int(value)
  31. except ValueError:
  32. try:
  33. acc = float(value)
  34. except ValueError:
  35. raise Exception("Metric value must be a number")
  36.  
  37. def gauge_fast():
  38. value = sample()
  39. try:
  40. acc = float(value)
  41. except ValueError:
  42. raise Exception("Metric value must be a number")
  43.  
  44. def main():
  45. print "--- Gauge only ---"
  46. print timeit.repeat("gauge()", "from __main__ import gauge")
  47. print "--- Gauge delta ---"
  48. print timeit.repeat("gauge_delta()", "from __main__ import gauge_delta, acc")
  49. print "--- Gauge fast ---"
  50. print timeit.repeat("gauge_fast()", "from __main__ import gauge_fast")
  51.  
  52. if __name__ == '__main__':
  53. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement