더북(TheBook)

이 코드를 프로파일링하고 print_stats의 디폴트 옵션으로 통계를 출력하면 통계를 해석하기 어렵다.

>>>
         20242 function calls in 0.040 seconds
         
   Ordered by: cumulative time
   
   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.040    0.040 main.py:172(my_program)
       20    0.002    0.000    0.040    0.002 main.py:164(first_func)
    20200    0.038    0.000    0.038    0.000 main.py:159(my_utility)
       20    0.000    0.000    0.000    0.000 main.py:168(second_func)

my_utility 함수가 실행 시간 중 대부분을 차지하는 것은 분명하다. 하지만 이 함수가 왜 이렇게 많이 호출됐는지를 즉시 알아보기는 어렵다. 프로그램 코드를 살펴보면 my_utility를 호출하는 부분이 여러 군데라는 사실을 알 수 있지만 여전히 혼란스러울 뿐이다.