Ответ 1
Самый простой способ сделать это - поставить:
import time
start_time = time.time()
в начале и
print "My program took", time.time() - start_time, "to run"
в конце.
В принципе, я хочу иметь возможность выводить прошедшее время, в которое работает приложение. Я думаю, мне нужно использовать какую-то функцию timeit, но я не уверен, какой из них. Я ищу что-то вроде следующего...
START MY TIMER
code for application
more code
more code
etc
STOP MY TIMER
OUTPUT ELAPSED TIME, чтобы выполнить вышеуказанный код между началом и остановкой таймера. Мысли?
Самый простой способ сделать это - поставить:
import time
start_time = time.time()
в начале и
print "My program took", time.time() - start_time, "to run"
в конце.
Чтобы получить лучший результат на разных платформах:
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/других платформах соответственно.
Если вы используете 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'
Вы можете использовать системную команду time
:
[email protected]:~# time python test.py
hello world!
real 0m0.015s
user 0m0.008s
sys 0m0.007s
Не могли бы вы просто получить текущее системное время в начале и в конце, а затем вычесть время начала с последнего времени?
Возьмите текущее время системы в начале вашей программы, и в конце снова возьмите время окончания вашей программы, наконец, вычтите два раза.
Ниже приведен код, показывающий, как мы можем выполнить вышеупомянутую операцию:
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)
Надеюсь, это ясно навсегда.