2
저는 작은 파이썬 코드 스 니펫의 실행 시간을 측정하려고하는데 최선의 방법이 무엇인지 궁금합니다.timeit.repeat() 벤치 마크에서 값 비싼 설정을 피하십시오
이상적으로는 (나는 오랜 시간이 소요되는) 일종의 설정을 실행하고 몇 가지 테스트 코드를 두 번 실행하고 이러한 실행의 최소 시간을 얻고 싶습니다.
timeit()
이 적절하다고 생각되지만 설정을 다시 실행하지 않고 최소 시간을 얻는 방법을 모르겠습니다.
import timeit
setup = 'a = 2.0' # expensive
stmt = 'b = a**2' # also takes significantly longer than timer resolution
# this executes setup and stmt 10 times and the minimum of these 10
# runs is returned:
timings1 = timeit.repeat(stmt = stmt, setup = setup, repeat = 10, number = 1)
# this executes setup once and stmt 10 times but the overall time of
# these 10 runs is returned (and I would like to have the minimum
# of the 10 runs):
timings2 = timeit.repeat(stmt = stmt, setup = setup, repeat = 1, number = 10)
설정 루틴의 결과를 변수에 저장할 수 있습니까? –
더 복잡한 데이터 유형이 관련되어 있으므로 결과를 문자열에 저장할 수 없습니다 (scipy.sparse.linalg.LinearOperator). – andrenarchy