측정 구간과 반복 묶음을 한 계산으로 연결한다
세 함수는 모두 1 + 2 + ··· + n을 반환한다. 함수와 입력 크기, 묶음당 호출 수, 반복 묶음 수를 바꾸면 묶음 시간과 호출당 환산값, 중앙값이 함께 바뀐다.
assert sum_loop(n) == n * (n + 1) // 2
틀린 답을 빨리 내는 코드는 비교 대상이 아니므로 결과부터 확인한다. 목록을 읽는 코드를 잴 때는 목록 생성도 setup에 두어 측정에서 뺀다.
Timer(lambda: sum_loop(10000)).repeat(repeat=5, number=10)
같은 입력으로 호출만 묶어 잰다.
비교 조건 가운데 하나가 달라지면 해석도 달라진다
실행 시간을 비교하려면 코드뿐 아니라 컴퓨터, 측정 범위와 입력 크기도 같아야 한다.