SHOW:
|
|
- or go back to the newest paste.
| 1 | import psutil | |
| 2 | from time import time | |
| 3 | ||
| 4 | def timed(fn): | |
| 5 | def decorated(*x): | |
| 6 | start = time() | |
| 7 | result = fn(*x) | |
| 8 | print "Executing %s took %d ms" % (fn.__name__, (time()-start)*1000) | |
| 9 | return result | |
| 10 | return decorated | |
| 11 | ||
| 12 | - | @timed |
| 12 | + | def repeat(times): |
| 13 | """ повторить вызов times раз, и вернуть среднее значение """ | |
| 14 | def decorator(fn): | |
| 15 | def decorated2(*x): | |
| 16 | total = 0 | |
| 17 | for i in range(times): | |
| 18 | total += fn(*x) | |
| 19 | return total / times | |
| 20 | return decorated2 | |
| 21 | return decorator | |
| 22 | ||
| 23 | @repeat(5) | |
| 24 | def cpuload(): | |
| 25 | load = psutil.cpu_percent() | |
| 26 | print "cpuload() returns %d" % load | |
| 27 | return load | |
| 28 | ||
| 29 | print "cpuload.__name__==" + cpuload.__name__ | |
| 30 | print "CPU load is %d%%" % cpuload() |