예제가 포함된 Python Timeit()

Python Timeit()이란 무엇입니까?

파이썬 타임잇() 주어진 코드 조각에 소요되는 실행 시간을 측정하는 Python 라이브러리의 메서드입니다. Python 라이브러리는 코드 문을 1만 번 실행하고 주어진 코드 조각 세트에서 소요된 최소 시간을 제공합니다. Python timeit()은 코드 성능을 확인하는 데 도움이 되는 유용한 메서드입니다.

통사론

timeit.timeit(stmt, setup,timer, number)

파라미터

  • STMT: 실행 시간을 측정하려는 코드가 필요합니다. 기본값은 "통과"입니다.
  • 설치: 여기에는 설정이 포함됩니다.tails stmt 전에 실행되어야 합니다. 기본값은 '통과'입니다.
  • 타이머: 여기에는 타이머 값이 있습니다. 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: 설정 내용이 있습니다.tails 코드 실행 전에 실행됩니다.
  • -t: 이를 위해 time.time()을 사용할 수 있습니다.
  • -c: 이를 위해 time.clock()을 사용할 수 있습니다.
  • -h: 도움을 위해
  • 코드 설명: 코드 드tails.

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
>>>

Python 코드의 실행 시간을 측정하는 가장 좋은 방법은 왜 timeit()입니까?

timeit()이 실행 시간을 측정하는 가장 좋은 방법이라고 생각하는 몇 가지 이유는 다음과 같습니다.

  • 기본값인 1만 번 코드문을 실행하고, 그로부터 최소 소요 시간을 반환합니다. time() 함수에 인수 개수를 설정하여 1만개를 늘리거나 줄일 수도 있습니다.
  • 테스트를 실행하는 동안 time() 함수에 의해 매번 가비지 수집이 비활성화됩니다.
  • timeit()은 사용 중인 운영 체제에 따라 내부적으로 정확한 시간을 사용합니다. 예를 들어, time.clock()을 사용합니다. Windows Mac 및 Linux용 운영 체제 및 time.time().

요약

Timeit()은 주어진 작은 코드에 소요되는 실행 시간을 얻는 데 사용됩니다.

timeit()과 함께 사용되는 매개변수

  • stmt: 실행 시간을 측정하려는 코드가 필요합니다.
  • setup: 여기에는 설정 de가 있습니다.tails stmt 전에 실행해야 하는 것
  • 타이머: 여기에는 타이머 값이 있습니다. timeit()에는 이미 기본값이 설정되어 있으므로 무시할 수 있습니다.
  • number: stmt는 여기에 제공된 번호에 따라 실행됩니다.