View difference between Paste ID: 4XELYWhB and 1fFX4hJU
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()