Форум сайта python.su
Hi All
можете уточнить, правильно ли я использую timeit для замера скорости выполнения алгоритмов.
Погуляв по ману я реализовал такой метод замера скорости алгоритма
import timeit
s = """\
a = 1
b = 1
total = 0
while b < 10:
if a%2 == 0:
total += a
a,b=b+a,a
"""
t = timeit.Timer(stmt=s)
print "%.4f usec/pass" % ( 1000000*t.timeit(number=100000)/100000)
Офлайн
нормально
Офлайн
Андрей Светловпросто приятель переписал алгоритм на .net и замерил .net классом для измерений интервалов..
нормально
from math import *
sq5 = sqrt(5)
fi = (1+sq5)/2.0
def Fib(n):
return int(round(pow(fi, n)/sq5))
def FibRev(f):
return log(sq5*f,fi)
def SumOfEvenValuedFibs(max):
n = floor(FibRev(max))
return Fib(n+2)/2
Офлайн