Python 예제가 포함된 Timeit()
Python 타임잇()?
Python 타임잇() 의 방법이다 Python 주어진 코드 조각의 실행 시간을 측정하는 라이브러리입니다. 그만큼 Python 라이브러리는 코드 문을 1만 번 실행하고 주어진 코드 조각 세트에서 소요된 최소 시간을 제공합니다. Python timeit()은 코드 성능을 확인하는 데 도움이 되는 유용한 메서드입니다.
통사론
timeit.timeit(stmt, setup,timer, number)
파라미터
- STMT: 실행 시간을 측정하려는 코드가 필요합니다. 기본값은 "통과"입니다.
- 설치: stmt 전에 실행해야 하는 설정 세부 정보가 있습니다. 기본값은 "pass"입니다.
- 타이머: 여기에는 타이머 값이 있습니다. timeit()에는 이미 기본값이 설정되어 있으므로 무시할 수 있습니다.
- 번호: stmt는 여기에 제공된 번호에 따라 실행됩니다. 기본값은 1000000입니다.
timeit()을 사용하려면 아래와 같이 모듈을 가져와야 합니다.
import timeit
첫 번째 예
다음은 timeit() 함수의 간단한 예입니다.
코드 예 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
출력:
0.06127880399999999
우리는 간단한 코드 문 출력 = 10*5의 실행 시간을 제공하는 간단한 예를 보았고 이를 실행하는 데 걸리는 시간은 0.06127880399999999입니다.
Python 코드의 여러 줄 타이밍
timeit.timeit()에서 여러 줄의 코드를 실행하는 방법에는 두 가지가 있습니다. 세미콜론으로 줄을 구분하거나 코드를 세 개의 따옴표로 묶은 문자열로 묶는 것입니다.
다음은 그 작동 방식을 보여주는 예입니다.
예 1: 세미콜론 사용
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
출력:
The time taken is 0.137031482
예 2: 삼중따옴표 사용
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
출력:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – 방법
여기에 2가지 중요한 timeit 메소드가 있습니다.
timeit.default_timer() : 실행 시 기본 시간을 반환합니다.
timeit.repeat(stmt, 설정, 타이머, 반복, 숫자) : timeit() 과 동일하지만, 반복을 사용하면 반복이 제공되는 횟수에 따라 timeit()이 호출됩니다.
프로그램 예 1
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
출력:
0.46715912400000004
예제 2
default_timer() 예
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
출력:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
예시 3: timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
출력:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat()는 timeit.timeit() 함수와 유사하게 작동하지만, 유일한 차이점은 반복 인수에서 취하고 반복 횟수에 따른 값을 사용하여 배열 형식으로 실행 시간을 반환합니다.
명령줄 인터페이스 내에서 타이밍 함수 timeit.timeit() 실행
명령줄의 timeit() 내에서 함수를 실행하는 구문은 다음과 같습니다.
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
명령줄 매개변수:
- -n N: 코드를 실행하려는 횟수입니다.
- -r N: timeit() 함수를 반복하려는 횟수
- -s S: 코드 실행 전에 실행되는 설정 세부 정보가 포함됩니다.
- -t: 이를 위해 time.time()을 사용할 수 있습니다.
- -c: 이를 위해 time.clock()을 사용할 수 있습니다.
- -h: 도움을 위해
- 코드 문장: 코드 세부 정보.
예시
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
명령줄 내에서 실행할 수 있는 또 다른 방법은 아래와 같습니다.
예시
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
왜 timeit()이 실행 시간을 측정하는 가장 좋은 방법입니까? Python 암호?
timeit()이 실행 시간을 측정하는 가장 좋은 방법이라고 생각하는 몇 가지 이유는 다음과 같습니다.
- 기본값인 1만 번 코드문을 실행하고, 그로부터 최소 소요 시간을 반환합니다. time() 함수에 인수 개수를 설정하여 1만개를 늘리거나 줄일 수도 있습니다.
- 테스트를 실행하는 동안 time() 함수에 의해 매번 가비지 수집이 비활성화됩니다.
- timeit()은 내부적으로 사용 중인 운영 체제에 따라 정확한 시간을 가져옵니다. 예를 들어 time.clock()을 사용합니다. Windows Mac과 Linux를 위한 운영체제와 time.time().
요약
Timeit()은 주어진 작은 코드에 소요되는 실행 시간을 얻는 데 사용됩니다.
timeit()과 함께 사용되는 매개변수
- stmt: 실행 시간을 측정하려는 코드가 필요합니다.
- 설정: 이것은 stmt 전에 실행해야 하는 설정 세부 정보를 포함합니다.
- 타이머: 여기에는 타이머 값이 있습니다. timeit()에는 이미 기본값이 설정되어 있으므로 무시할 수 있습니다.
- number: stmt는 여기에 제공된 번호에 따라 실행됩니다.