Вот что я сделал, я создал 2 процедуры, одну в функции и одну в самом файле python. Тот, что находится в самом файле python, работает почти в 2 раза медленнее, даже если он точно такой же. ЗАЧЕМ ?
Ниже приведен пример с двумя процедурами, которые являются просто циклами элемента P
У меня есть следующий файл python:
from time import *
P=1000000 #range of the 2 loops
def loop(N):
for k in range(N):
continue
start=time()
loop(P)
stop1=time()
for k in range(P):
continue
stop2=time()
print "time with function ",stop1-start
print "time without function ",stop2-stop1
Вот что я получаю (я попробовал это с тысячей сэмплов, и результат следующий):
time with function 0.0950000286102
time without function 0.15700006485
с xrange вместо диапазона я получаю:
time with function 0.0460000038147
time without function 0.107999843597
Так что для построения списка используется 0,05 секунды
Я знаю, что это может быть бесполезный вопрос, но если кто-то знает, почему это происходит намного быстрее, я был бы рад узнать