반응형
파이썬의 Time 모듈을 사용하면 경과 시간을 측정 할 수 있습니까? 그렇다면 어떻게해야합니까?
커서가 일정 기간 동안 위젯에 있으면 이벤트가 발생하도록 이렇게해야합니다.
해결 방법
start_time = time.time()
# your code
elapsed_time = time.time() - start_time
간단한 데코레이터를 작성하여 다양한 함수의 실행 시간 측정을 단순화 할 수도 있습니다.
import time
from functools import wraps
PROF_DATA = {}
def profile(fn):
@wraps(fn)
def with_profiling(*args, **kwargs):
start_time = time.time()
ret = fn(*args, **kwargs)
elapsed_time = time.time() - start_time
if fn.__name__ not in PROF_DATA:
PROF_DATA[fn.__name__] = [0, []]
PROF_DATA[fn.__name__][0] += 1
PROF_DATA[fn.__name__][1].append(elapsed_time)
return ret
return with_profiling
def print_prof_data():
for fname, data in PROF_DATA.items():
max_time = max(data[1])
avg_time = sum(data[1]) / len(data[1])
print "Function %s called %d times. " % (fname, data[0]),
print 'Execution time max: %.3f, average: %.3f' % (max_time, avg_time)
def clear_prof_data():
global PROF_DATA
PROF_DATA = {}
용법:
@profile
def your_function(...):
...
둘 이상의 기능을 동시에 프로파일 링 할 수 있습니다. 그런 다음 측정 값을 인쇄하려면 print_prof_data ()를 호출하십시오.
참조 페이지 https://stackoverflow.com/questions/3620943
반응형
'파이썬' 카테고리의 다른 글
파이썬으로 .mdb 액세스 파일을 처리하는 방법 (0) | 2020.11.07 |
---|---|
파이썬 boto3를 사용하여 S3 버킷에서 파일 콘텐츠 읽기 (0) | 2020.11.07 |
파이썬 ImportError : mysite.settings (Django)라는 모듈이 없습니다. (0) | 2020.11.07 |
파이썬 Python 3 : JSON을 직렬화 할 수 없음 (0) | 2020.11.07 |
파이썬 pandas DataFrame, 특정 열에 함수를 적용하는 방법은 무엇입니까? (0) | 2020.11.07 |
댓글