Подтвердить что ты не робот

Как долго работает приложение Python?

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

START MY TIMER
code for application
more code
more code
etc
STOP MY TIMER

OUTPUT ELAPSED TIME, чтобы выполнить вышеуказанный код между началом и остановкой таймера. Мысли?

4b9b3361

Ответ 1

Самый простой способ сделать это - поставить:

import time
start_time = time.time()

в начале и

print "My program took", time.time() - start_time, "to run"

в конце.

Ответ 2

Чтобы получить лучший результат на разных платформах:

from timeit import default_timer as timer

# START MY TIMER
start = timer()
code for application
more code
more code
etc
# STOP MY TIMER
elapsed_time = timer() - start # in seconds

timer() является time.perf_counter() в Python 3.3 и time.clock()/time.time() в старых версиях на Windows/других платформах соответственно.

Ответ 3

Если вы используете Mac OS X или Linux, просто используйте утилиту time:

$ time python script.py
real    0m0.043s
user    0m0.027s
sys     0m0.013s

Если нет, используйте модуль time:

import time

start_time = time.time()

# ...

print time.time() - start_time, 's'

Ответ 4

Вы можете использовать системную команду time:

[email protected]:~# time python test.py
hello world!

real    0m0.015s
user    0m0.008s
sys     0m0.007s

Ответ 5

Не могли бы вы просто получить текущее системное время в начале и в конце, а затем вычесть время начала с последнего времени?

Ответ 6

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

Ниже приведен код, показывающий, как мы можем выполнить вышеупомянутую операцию:

import time
start = time.time()

пример кода начинается здесь

cnt = 1
for fun in range(10**11):
    if (fun % 10**9 == 0):
        print(cnt, fun)
        cnt += 1

пример кода заканчивается здесь

end = time.time()
print('Time taken for fun program: ', end - start)

Надеюсь, это ясно навсегда.