Я в тупике.По сути, у меня есть две функции, которые принимают ввод (который представляет собой список случайно сгенерированных чисел).
Затем я хотел выяснить размер списка ввода, в котором время, необходимое для выполнения обеих функций, равноравно.
Вот что у меня есть:
def function1(inputlist):
#does something to inputlist
def function2(inputlist):
#does same thing to inputlist as before but in different way
time1 = timeit.timeit(stmt="function1(random.sample([x for x in range(0, 20000), 10)",setup = "from file import function1,input",number=100)
time2 = timeit.timeit(stmt="function2(random.sample([x for x in range(0, 20000), 10)",setup = "from file import function2,input",number=100)
i=0
while time1<time2:
time1 = timeit.timeit(stmt="function1(random.sample([x for x in range(0, 20000), i)",setup = "from file import function1",number=100)
time2 = timeit.timeit(stmt="function2(random.sample([x for x in range(0, 20000), i)",setup = "from file import function2",number=100)
i = i+1
print(i)
Я не могу понять это.Я перепробовал все, что мог найти.Я знаю, что вы не можете ссылаться на внешние переменные при использовании timeit
, поэтому я попытался обойти это тоже.Мне в основном нужен какой-либо метод, где я могу увеличить входную сторону функции и вычислять каждый раз.
Заранее большое спасибо.Я боролся с этим уже больше суток.