Python의 timeit을 사용한 성능 테스트: 단계별 가이드
특정 코드 세그먼트의 실행 시간을 결정하기 위해 Python은 다음을 제공합니다. timeit 모듈. 이를 효과적으로 사용하는 방법을 살펴보겠습니다.
데이터베이스 테이블을 업데이트하는 다음 Python 스크립트를 고려하십시오.
<code class="python">import time import random import ibm_db # Open a file for writing results myfile = open("results_update.txt", "a") # Create a database connection conn = ibm_db.pconnect("dsn=myDB", "usrname", "secretPWD") # Prepare a parameterized update statement query_stmt = ibm_db.prepare(conn, "update TABLE set val = ? where MyCount >= '2010' and MyCount < '2012' and number = '250'") # Execute the update statement 100 times with different random values for r in range(100): rannumber = random.randint(0, 100) params = [rannumber] ibm_db.execute(query_stmt, params) myfile.write(str(rannumber) + "\n") # Close the file and connection myfile.close() ibm_db.close(conn)
내부 루프 실행 시간을 측정하기 위해 time.time( ) 또는 time.clock()은 현재 시간을 초 단위로 반환합니다.
<code class="python">t0 = time.time() # Start time # Code to be timed t1 = time.time() # End time total = t1 - t0
그러나 timeit은 여러 실행을 평균화하고 더 정확한 결과를 제공할 수 있는 보다 포괄적인 접근 방식을 제공합니다.
<code class="python">import timeit setup = """ import random import ibm_db conn = ibm_db.pconnect("dsn=myDB", "usrname", "secretPWD") query_stmt = ibm_db.prepare(conn, "update TABLE set val = ? where MyCount >= '2010' and MyCount < '2012' and number = '250'") params = [12] """ code = """ ibm_db.execute(query_stmt, params) """ timeit.Timer(code, setup).timeit(number=100) # Run the code 100 times</code>
이 코드에서 설정 변수에는 데이터베이스 연결 초기화, 명령문 준비 등 각 실행 전에 실행해야 하는 코드가 포함되어 있습니다. 코드 변수에는 시간을 측정할 코드가 포함되어 있습니다. 숫자 인수는 코드를 실행해야 하는 횟수를 지정합니다.
timeit 모듈을 활용하면 코드 실행 시간을 정확하고 안정적으로 측정하여 Python 애플리케이션의 성능을 최적화하고 모니터링할 수 있습니다. .
위 내용은 코드 실행 시간을 효과적으로 측정하기 위해 Python의 `timeit` 모듈을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!