Найти - Пользователи
Полная версия: вопросы по модулю timeit
Начало » Python для экспертов » вопросы по модулю timeit
1
hellt
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)
Не крива ли данная реализация замера скорости выполнения?
Андрей Светлов
нормально
hellt
Андрей Светлов
нормально
просто приятель переписал алгоритм на .net и замерил .net классом для измерений интервалов..
ладно бы если у него скорость в 10р выше, тут все понятно. Но у него и результаты сравнения алгоритмов иные.

т.е. алгоритм, который у меня проигрывает на всем интервале 32bit целого у него выигрывает

чтобы не быть голословным вот примеры 2го алгоритмов на питоне

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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB