
93
2
장
프로파일링으로 병목 지점 찾기
Line # Mem usage Increment Line Contents
================================================
20 48.277 MiB 48.277 MiB @profile
21 def some_fn(useful_input):
22 "
""
An expensive function that we wish to...
23 # artificial 'we're doing something clever...
24 48.277 MiB 0.000 MiB time.sleep(1)
25 48.277 MiB 0.000 MiB return useful_input ** 2
이 과정을 건너뛰면 몇 분을 아낄 수 있겠지만, 몇 시간 동안 고생해서 한 최적화가 코드를 망
가뜨리는 상황을 한번 겪고 나면 이 과정을 항상 워크플로에 넣게 될 것이다.
2.13
성공적인 코드 프로파일링 전략
프로파일링에는 약간의 시간과 집중이 필요하다. 전체 코드에서 테스트하려는 일부 코드만 분
리하면 코드를 더 잘 이해하게 될 가능성이 높다. 그리고 단위 테스트로 코드의 정확함을 유지
하면서 현실적인 데이터를 바탕으로 찾고자 하는 비효율성을 실험해볼 수 있다.
결과를 헷갈리게 할 수 있으니
BIOS
에서 제공하는 가속 기능은 ...