파이썬 타이머 예제

pass 문을 실행하는 것과 관련된 특정 기준 오버헤드가 있습니다. 여기에있는 코드는 숨기려고하지 않지만 알고 있어야합니다. 기준 오버헤드는 인수 없이 프로그램을 호출하여 측정할 수 있으며 파이썬 버전간에 다를 수 있습니다. 또한 이전 파이썬 버전을 파이썬 2.3과 상당히 비교하려면 SET_LINENO 명령의 타이밍을 피하기 위해 이전 버전에 대한 Python의 -O 옵션 (최적화 참조)을 사용할 수 있습니다. 인터벌 초가 경과 한 후 인수 args 및 키워드 인수 kwargs와 함수를 실행하는 타이머를 만듭니다. args가 None(기본값)이면 빈 목록이 사용됩니다. kwargs가 None(기본값)이면 빈 딕트가 사용됩니다. 이 모듈은 파이썬 코드의 작은 비트를 시간 간단한 방법을 제공합니다. 그것은 명령줄 인터페이스뿐만 아니라 호출 할 수있는 인터페이스를 모두 가지고 있습니다.

실행 시간을 측정하기 위한 여러 가지 일반적인 트랩을 방지합니다. O`Reilly가 발행한 파이썬 쿡북의 “알고리즘” 장에 대한 팀 피터스의 소개를 참조하십시오. timer.cancel()은 타이머를 취소하기 위한 구문입니다. 그러나 timeit은 명령줄 인터페이스가 사용되는 경우에만 반복 횟수를 자동으로 결정합니다. 예제 섹션에서 고급 예제를 찾을 수 있습니다. default_timer() 측정은 동일한 컴퓨터에서 실행되는 다른 프로그램에 의해 영향을 받을 수 있으므로 정확한 타이밍이 필요할 때 가장 좋은 방법은 타이밍을 몇 번 반복하고 가장 좋은 시간을 사용하는 것입니다. -r 옵션은 이것에 좋습니다. 대부분의 경우 3번의 반복의 기본값으로 충분합니다.

유닉스에서 time.clock()를 사용하여 CPU 시간을 측정할 수 있습니다. 파이썬의 시간 모듈은 다양한 시간 관련 기능을 제공합니다. 대부분의 시간 함수는 동일한 이름의 플랫폼별 C 라이브러리 함수를 호출하므로 이러한 함수의 의미 체계는 플랫폼에 따라 다릅니다. 타이머는 스레드와 마찬가지로 start() 메서드를 호출하여 시작됩니다. cancel() 메서드를 호출하여 타이머를 중지할 수 있습니다(작업이 시작되기 전에). 타이머가 작업을 실행하기 전에 기다리는 간격은 사용자가 지정한 간격과 정확히 같지 않을 수 있습니다. 결과 벡터에서 평균 및 표준 편차를 계산하고 보고하는 것은 유혹적이다. 그러나 이것은 매우 유용하지 않습니다. 일반적인 경우 가장 낮은 값은 컴퓨터가 지정된 코드 조각을 실행할 수 있는 속도의 하한을 제공합니다. 결과 벡터의 값이 높을수록 일반적으로 Python 의 속도의 가변성이 아니라 타이밍 정확도를 방해하는 다른 프로세스에 의해 발생합니다. 따라서 결과의 최소()는 아마도 관심 있어야 할 유일한 숫자일 것입니다.

그런 다음 전체 벡터를 살펴보고 통계보다는 상식을 적용해야 합니다.