Python 실행 시간의 계산 방법 소결

먼저 제 가 만난 구 덩이 를 말씀 드 리 겠 습 니 다.생산 에 문제 가 생 겼 습 니 다.저 는 Python 스 크 립 트 를 실행 하고 감시 합 니 다.python 스 크 립 트 의 실행 시간 은 python 스 크 립 트 에서 자신 이 통계 한 프로그램 실행 시간 보다 훨씬 큽 니 다.
python 스 크 립 트 의 실행 시간 은 36 시간 이 고 python 스 크 립 트 에서 자신 이 실행 한 시간 은 4 시간 정도 입 니 다.
문제 가 폭 로 된 후 가장 먼저 생각 나 는 것 은 리 눅 스에 문제 가 생 겼 다 는 것 이다.각종 로 그 를 찾 아 보 니 이상 한 점 이 발견 되 지 않 았 다.
그 다음 에 python 에서 사용 하 는 py2neo 의 데이터 비동기 화 를 생각 하여 프로 세 스 의 실행 을 막 습 니 다.
마지막 으로 문제 의 소 재 를 찾 았 습 니 다.python 스 크 립 트 는 시간 을 통계 하 는 방식 으로 time.clock()을 사용 합 니 다.이 방식 은 프로그램의 실행 시간 이 아니 라 CPU 의 실행 시간 을 통계 합 니 다.
다음은 몇 가지 python 의 통계 시간 방식 을 비교 해 보 겠 습 니 다.
방법 1:

import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
datetime.datetime.now()는 현재 날 짜 를 가 져 옵 니 다.프로그램 실행 이 끝 난 후에 이 방식 으로 얻 은 시간 값 은 프로그램 이 실행 하 는 시간 입 니 다.
방법 2:

start = time.time()
#long running
#do something other
end = time.time()
print end-start
time.time()은 기원 이래 의 현재 시간(초 단위)을 가 져 옵 니 다.시스템 시계 가 그것들 을 제공한다 면,초의 점수 가 존재 할 수 있다.그래서 이곳 은 부동 소수점 유형 으로 돌 아 왔 다.여기 서 가 져 온 것 도 프로그램의 실행 시간 입 니 다.
방법 3:

start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
time.clock()은 프로그램 이 시작 되 거나 처음으로 clock()이 호출 된 이후 의 CPU 시간 을 되 돌려 줍 니 다.이것 은 시스템 기록 과 같은 많은 정밀 도 를 가지 고 있다.되 돌아 오 는 것 도 부동 소수점 유형 이다.여기 서 얻 은 것 은 CPU 의 실행 시간 입 니 다.
주:프로그램 실행 시간=cpu 시간+io 시간+휴면 또는 대기 시간
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기