Skip to content

Python:timeit

작은 코드 조각의 실행 시간 측정

기본 예제

다음 예제에서는 명령 줄 인터페이스를 사용하여 세 가지 다른 표현식을 비교하는 방법을 보여줍니다:

python -m timeit "'-'.join(str(n) for n in range(100))"
## 10000 loops, best of 5: 30.2 usec per loop

python -m timeit "'-'.join([str(n) for n in range(100)])"
## 10000 loops, best of 5: 27.5 usec per loop

python -m timeit "'-'.join(map(str, range(100)))"
## 10000 loops, best of 5: 23.2 usec per loop

이것은 파이썬 인터페이스로는 다음과 같이 할 수 있습니다:

import timeit

timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
## 0.3018611848820001

timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
## 0.2727368790656328

timeit.timeit('"-".join(map(str, range(100)))', number=10000)
## 0.23702679807320237

콜러블을 파이썬 인터페이스로 전달할 수도 있습니다:

timeit.timeit(lambda: "-".join(map(str, range(100))), number=10000)
## 0.19665591977536678

그러나 timeit()은 명령 줄 인터페이스가 사용될 때만 반복 횟수를 자동으로 결정합니다. 예제 절에서 고급 예제를 찾을 수 있습니다.

See also