이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 16030|회답: 0

[팁] 여러 파이썬 실행 시간 계산 방법

[링크 복사]
게시됨 2018. 4. 23. 오후 3:54:36 | | | |
우선, 제가 겪은 함정들, 즉 프로덕션 환경에서 겪은 문제들에 대해 이야기해보겠습니다. 저는 파이썬 스크립트의 실행을 스케줄링하고 프로세스를 모니터링하는데, 파이썬 스크립트의 실행 시간은 제가 세는 프로그램 실행 시간보다 훨씬 깁니다.
파이썬 스크립트의 실행 모니터링 시간은 36시간이며, 파이썬 스크립트의 자체 실행 시간은 약 4시간입니다.
문제 이후 가장 먼저 떠오르는 것은 리눅스에 문제가 있다는 점인데, 여러 로그에서 이상 현상을 찾지 못했습니다.
그리고 파이썬에서 비동기적으로 데이터를 쓰는 py2neo가 프로세스 실행을 차단하는 방식을 생각해봅니다.
마침내 문제는 파이썬 스크립트가 CPU의 실행 시간을 계산할 때 time.clock() 방식을 사용하는 방식이지, 프로그램 실행 시간을 계산하는 방식이었습니다.
다음으로, 여러 파이썬 시간 통계를 비교해 보겠습니다:

방법 1:

datetime.datetime.now()는 현재 날짜를 받고, 프로그램 실행이 종료된 후 이 방법으로 얻는 시간 값이 프로그램 실행 시간이 됩니다.

방법 2:

time.time() 때문에 에포크 이후 현재 시간을 얻기 위해 (몇 초 만에)。 시스템 클럭이 제공한다면 몇 분의 1초 정도일 수 있습니다. 그래서 이 자리는 부동소수점 타입을 반환합니다. 여기서 얻는 것은 프로그램의 실행 시간이기도 합니다.

방법 3:

time.clock()는 프로그램이 시작되었거나 처음 호출된 이후의 CPU 시간을 반환합니다. 이 시스템은 시스템 기록만큼 정밀도가 높습니다. 반환 역시 부동소수점 타입입니다. 여기서 얻는 것은 CPU의 실행 시간입니다.
참고: 프로그램 실행 시간 = CPU 시간 + IO 시간 + 최대 절전 또는 대기 시간

메서드 2를 사용해 함수 실행 시간을 테스트하는 방법은 다음과 같습니다:







이전의:Windows 하에서의 파이썬 3.6.5 설치 튜토리얼
다음:신경망 아키텍처의 진화: LeNet5부터 ENet까지 10개 이상의 아키텍처에 대한 종합적 검토
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com