Получить время выполнения кода x количество раз

Что я пытаюсь сделать, так это запустить эту программу, узнать время ее выполнения, а затем продолжить делать это еще 9 раз. Как мне перебрать его, чтобы он распечатал 10 разных времен выполнения? Я не совсем уверен, как мне нужно структурировать программу, чтобы добиться этого.

import time
start_time = time.time()


def fibonacci():
    previous_num, result = 0, 1
    user = 1000
    iteration = 10
    while len(str(result)) < user:
        previous_num, result = result, previous_num + result
        while iteration != 0:
            iteration -= 1
            end = time.time()
            print(start_time - end)
    return result


print(fibonacci())
print("--- %s seconds ---" % (time.time() - start_time))

person Tyler Heist    schedule 19.12.2019    source источник
comment
вы можете подумать об использовании модуля timeit, если вам не нужно каждое время выполнения и заботиться только о среднем времени   -  person user1558604    schedule 19.12.2019
comment
Обратите внимание, что есть удобные декораторы таймера, такие как @timeit (stackoverflow.com/ questions / 1622943 /)   -  person jarmod    schedule 19.12.2019
comment
Отвечает ли это на ваш вопрос? Измерение прошедшего времени в Python   -  person wwii    schedule 19.12.2019
comment
@wwii Это немного помогло, не могли бы вы объяснить или помочь мне лучше понять, почему я хочу использовать timeit, а не другой модуль / декоратор?   -  person Tyler Heist    schedule 20.12.2019


Ответы (1)


Все, что вам нужно сделать, это создать цикл for и поместить в него свой код.

import time

def fibonacci(start_time):
    previous_num, result = 0, 1
    user = 1000
    iteration = 10
    while len(str(result)) < user:
        previous_num, result = result, previous_num + result
        while iteration != 0:
            iteration -= 1
            end = time.time()
            print(start_time - end)
    return result

for i in range(0, 10):
    start_time = time.time()
    print(fibonacci(start_time))
    print("--- %s seconds ---" % (time.time() - start_time))
person Kim Souza    schedule 19.12.2019