1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| from time import clock
from random import randint
def displayTime(func):
res = "Fonction {name}: {time} secondes"
def wrap(varList):
start = clock()
for i in xrange(1000000):
func(varList)
t = clock() - start
print res.format(name=func.__name__, time=t)
return wrap
def execute(iterable, *func):
for f in func:
yield f(iterable)
@displayTime
def test_1(myList):
return myList[::-1]
@displayTime
def test_2(myList):
return list(reversed(myList))
@displayTime
def test_3(myList):
def wrp():
for i in xrange(len(myList)-1, -1, -1):
yield myList[i]
return list(wrp())
myList = [randint(0, 1000000) for i in xrange(1000)]
test_3(myList)
test_2(myList)
test_1(myList) |