Advertisement
Guest User

Sleep timing tests in Python

a guest
Jun 5th, 2015
596
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1.  
  2. import matplotlib
  3. matplotlib.use('agg')
  4. import pylab
  5.  
  6. import random
  7. from time import sleep
  8. from datetime import datetime, timedelta
  9.  
  10. max_sleep_time = 0.01
  11.  
  12. req_sleep = []
  13. act_sleep = []
  14.  
  15. for samp in xrange(1000):
  16.     sleep_time = random.random() * max_sleep_time
  17.     req_sleep.append(sleep_time * 1000.)
  18.  
  19.     start = datetime.now()
  20.     sleep(sleep_time)
  21.     end = datetime.now()
  22.  
  23.     act_sleep.append((end - start).total_seconds() * 1000.)
  24.  
  25. pylab.figure()
  26.  
  27. pylab.plot(req_sleep, act_sleep, 'r+')
  28. pylab.plot([0, max_sleep_time * 1000], [0, max_sleep_time * 1000.], 'k-')
  29. pylab.plot([0, 0.8 * max_sleep_time * 1000], [0, max_sleep_time * 1000.], 'k--')
  30. pylab.xlabel("Requested Sleep Time ($t_r$; ms)")
  31. pylab.ylabel("Actual Sleep Time ($t_s$; ms)")
  32. pylab.xlim(0, max_sleep_time * 1000.)
  33. pylab.ylim(0, max_sleep_time * 1000.)
  34.  
  35. pylab.annotate(r"$t_s \approx \frac{5}{4} t_r$", xy=(4, 5), xytext=(0.3, 0.7), textcoords='axes fraction',
  36.             arrowprops=dict(arrowstyle="->", connectionstyle="angle3,angleA=-90,angleB=-45"),
  37.             fontsize=14, bbox=dict(fc='w', ec='k', boxstyle='round'),
  38.             ha='center',
  39.             )  
  40.  
  41. pylab.title("Sleep behavior of Mac OS X Yosemite")
  42. pylab.grid()
  43. pylab.savefig("sleeptest.png")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement