최적화는 측정부터야. python -m cProfile -s cumulative script.py는 함수별 누적 시간을 보여줘 실제 병목 지점을 찾게 하고, 표본 기반 py-spy는 실행 부담이 거의 없어. 바꾼 뒤에는 같은 프로파일을 다시 떠 병목이 정말 줄거나 이동했는지 확인해.
timeit은 작은 식을 여러 번 실행해 미세 성능 측정을 돕고 쓰레기 수집과 반복 측정을 다뤄. 하지만 캐시·입출력·메모리 할당·실제 입력 분포를 빠뜨린 짧은 반복문이 운영 환경 성능을 대신하진 않아. 환경과 작업량을 숫자 옆에 기록해.
메모리는 내장 tracemalloc로 할당 기록을 파일·줄별로 비교하고, 더 깊은 운영 환경 분석에는 memray 같은 도구를 써. 측정하지 않은 곳을 빠르게 만드는 건 최적화가 아니라 추측이야.