Как сравнить эффективность двух функций, выполняющих одну и ту же задачу (кто быстрее) - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть функции, и мне нужно сравнить их в целях эффективности (кто быстрее), как лучше это сделать?

Ответы [ 4 ]

1 голос
/ 25 апреля 2020

Как насчет использования чего-то подобного?

import time

start = time.time()
print("hello")
end = time.time()
print(end - start)

На основе решения, представленного здесь: Решение

0 голосов
/ 25 апреля 2020

Вы хотите функцию timeit. Он запускает ваш тестовый набор несколько раз и возвращает время. Вы часто будете видеть, как люди цитируют результаты из timeit, когда они проводят сравнение производительности между различными подходами.

Здесь вы можете найти документы здесь

0 голосов
/ 25 апреля 2020

Зависит от того, насколько интенсивна ваша функция. Если это что-то простое и вы хотите сравнить некоторые функции, вы должны запустить их несколько раз

import time

t0 = time.time()
for i in range(1,10000):
    yourfunction()
t1 = time.time()

for i in range(1,10000):
    yourotherfunction()
t2 = time.time()

print(t1-t0, t2-t1)
0 голосов
/ 25 апреля 2020

Самый простой способ - использовать функцию времени из библиотеки времени.

import time

start = time.time()
my_function() # This is the task which I have done
end = time.time()
print(end - start)
...