아이템 92
최적화하기 전에 프로파일링을 하라
파이썬의 동적인 특성으로 인해 실행 시간 성능이 예상과 달라 놀랄 때가 있다. 느릴 거라 예상한 연산이 실제로는 아주 빠르거나(예 문자열 조작, 제너레이터), 빠를 거라 예상한 언어 기능이 실제로는 아주 느린(예 애트리뷰트 접근, 함수 호출) 경우가 있다. 이로 인해 파이썬 프로그램이 느려지는 원인을 명확히 보지 못할 수 있다.
가장 좋은 접근 방법은 프로그램을 최적화하기 전에 여러분의 직관을 무시하고 직접 프로그램 성능을 측정하는 것이다. 파이썬은 프로그램의 각 부분이 실행 시간을 얼마나 차지하는지 결정할 수 있게 해주는 내장 프로파일러(profiler)를 제공한다. 프로파일러가 있기 때문에 프로그램에서 가장 문제가 되는 부분을 집중적으로 최적화하고 프로그램에서 속도에 영향을 끼치지 않는 부분은 무시할 수 있다(즉, 성능 관련 연구 문헌에 나오는 암달의 법칙2을 따를 수 있다).