2013-05-12 5 views
1

파이썬 datetime.now()를 사용하는 경우 밀리 초에 가까운 해상도 만 얻습니다. 나는 네트워크 목적을 위해 마이크로 초 해상도가 필요하거나 적어도 마이크로 초 해상도로 수신 된 두 패킷 사이의 경과 시간을 측정 할 수 있어야한다. 여기 Python의 마이크로 초 해상도가 낮습니다.

해상도의 예입니다 내가 얻을 :

from datetime import datetime 
for i in range(10): 
    print(datetime.now().microsecond)  

가 반환

224000 
239000 
247000 
255000 
264000 
272000 
284000 
295000 
308000 
319000 

답변

0

이 플랫폼에 맞는 시계를 사용; timeit.default_timer을 사용하십시오.

datetimetime.clock() 이벤트만큼 세분화을 제공하지 않습니다 Windows에서 time.time()에서 사용하는 것과 같은 C API를 사용합니다. timeit.default_timer은 플랫폼에 적합한 버전을 선택하여 최상의 선택을 제공합니다.

+1

순방향 호환성 함정 : Python 3.3에서 'timeit.default_timer = time.perf_counter'는 벤치마킹에 유용하지만 네트워크 물건에는 유용하지 않을 수 있습니다 : 정의되지 않은 참조 점이며 "짧은 기간"을 측정하기 위해 문서화되었습니다. – delnan

관련 문제