파이썬 스크립트에 다음 코드가 있습니다.
def fun():
#Code here
fun()
이 스크립트를 실행하고 몇 분 안에 실행하는 데 걸린 시간도 확인하고 싶습니다. 이 스크립트를 실행하는 데 걸린 시간을 어떻게 알 수 있습니까? 예를 들어 정말 감사하겠습니다.
답변
from datetime import datetime
startTime = datetime.now()
#do something
#Python 2:
print datetime.now() - startTime
#Python 3:
print(datetime.now() - startTime)
답변
Linux 또는 UNIX의 명령 행에서 스크립트를 실행합니까? 이 경우, 그냥 사용할 수 있습니다
time ./script.py
답변
import time
start = time.time()
fun()
# python 2
print 'It took', time.time()-start, 'seconds.'
# python 3
print('It took', time.time()-start, 'seconds.')
답변
내가 주로하는 일은 사용하는 것입니다 clock()
또는 time()
으로부터 time
라이브러리입니다. clock
통역 시간을 time
측정하고 시스템 시간 을 측정합니다. 추가 경고는 문서 .
예를 들어
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
또는을 사용할 수 있습니다 timeit
. 필자는 time
속도가 빠르기 때문에 접근 방식을 자주 사용 하지만 격리 가능한 코드 조각을 타이밍으로 사용하는 경우,timeit
편리합니다.
로부터 timeit 워드 프로세서 ,
def test():
"Stupid test function"
L = []
for i in range(100):
L.append(i)
if __name__=='__main__':
from timeit import Timer
t = Timer("test()", "from __main__ import test")
print t.timeit()
그런 다음 몇 분으로 변환하려면 간단히 60으로 나눌 수 있습니다. 스크립트 런타임을 몇 초이든 며칠이든 쉽게 읽을 수있는 형식으로하려면 a timedelta
및 로 변환 할 수 있습니다 str
.
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
그러면 형식의 무언가가 인쇄됩니다 [D day[s], ][H]H:MM:SS[.UUUUUU]
. timedelta 문서를 확인할 수 있습니다 .
그리고 마지막으로 실제로 프로파일을 작성하는 것이 코드를 프로파일 링하는 경우 Python은 프로파일 라이브러리 도 사용할 수있게합니다 .
답변
import time
startTime = time.time()
# Your code here !
print ('The script took {0} second !'.format(time.time() - startTime))
이전 코드는 문제없이 작동합니다!
답변
import sys
import timeit
start = timeit.default_timer()
#do some nice things...
stop = timeit.default_timer()
total_time = stop - start
# output running time in a nice format.
mins, secs = divmod(total_time, 60)
hours, mins = divmod(mins, 60)
sys.stdout.write("Total running time: %d:%d:%d.\n" % (hours, mins, secs))
답변
timeit 모듈을 사용하십시오. 이것은 정말 쉽습니다. example.py 파일을 실행하여 Python Shell에서 활성화되면 이제 쉘에서 함수를 호출 할 수 있습니다. 작동하는지 확인하십시오
>>>fun(input)
output
좋아요, 작동합니다. 이제 timeit을 가져오고 타이머를 설정하십시오.
>>>import timeit
>>>t = timeit.Timer('example.fun(input)','import example')
>>>
이제 타이머를 설정하고 시간이 얼마나 걸리는지 확인할 수 있습니다
>>>t.timeit(number=1)
some number here
그리고 거기서 우리는 그 기능을 실행하는데 몇 초 (또는 더 적은)가 걸 렸는지 알려줄 것입니다. 간단한 함수 인 경우 t.timeit (number = 1000) (또는 임의의 수!)로 늘린 다음 답을 숫자로 나누어 평균을 구할 수 있습니다.
이게 도움이 되길 바란다.