320x100
프로젝트를 수행하다 보면 해당 모듈의 실행시간을 알고싶을 때가 있다.
아래의 예를 들어본다.
import time
def A():
time.sleep(1)
def B():
time.sleep(2)
def C():
time.sleep(3)
A()
B()
C()
print("done")
위는 예시일뿐 실제 프로젝트에서는 각 함수나 모듈의 실행시간을 알기 힘들다.
파이썬에는 cProfile이라는 프로파일러가 기본적으로 존재한다.
아래는 위 코드를 똑같이 실행하는 명령어와 결과물이다.
보면 test.py 스크립트(모듈)는 6초정도, 각 함수들은 1, 2, 3초 정도의 시간이 측정되었다.
ncalls - 호출횟수
tottime - 함수가 실행되는데의 시간
percall - 함수를 호출하는데에 평균시간 ( tottime/ncalls )
cumtime - 함수실행하는데의 누적시간
percall - 함수실행 누적 평균시간 ( cumtime/ncalls )
옵션으로 내림/오름차순 정렬, 파일로 저장등이 있다.
https://docs.python.org/ko/3/library/profile.html
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] stackoverflow 해결 (maximum recursion depth) (0) | 2021.08.10 |
---|---|
[Python] 라인별 시간측정 (line profiler) (0) | 2021.08.10 |
[Python] 특정구간 시간측정 (0) | 2021.08.09 |
[Python] 파이썬 패키지 관리 requirements.txt (0) | 2021.08.06 |
[Python] 라즈베리파이 Teachable Machine 사용하기 (0) | 2021.08.05 |
댓글