반응형

실행 시간들을 측정할 때가 많아서 만들게 되었다.

 

간단한 설명

click()은 이전 시간에 대해 지나간 시간을 알려준다.

get_dt()는 가장 최근에 click()했을 때 측정한 시간 간격을 알려준다.

get_time_since()는 click()은 하지 않는데, 마지막 click() 때부터 지나간 시간을 알려준다.

 

결과물

재미있는 것은 sleep 1초를 도는데도 6ms 가량 계속적인 시간 지연이 생긴다는 것...

정말 간단하게 측정할때나 필요하겠다.


 

코드 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import time
 
class StopWatch():
    def __init__(self):
        self._prev = time.time()
        self._dt = 0.0
 
    # click stopwatch
    def click(self):
        self._dt = time.time() - self._prev
        self._prev= time.time() 
        return self._dt
    
    # Just give your dt
    def get_dt(self):
        return self._dt
 
    # doesn't click, you can get 
    def get_time_since(self):
        return time.time() - self._prev
 
if __name__ == "__main__":
    stop_watch1 = StopWatch()
    stop_watch2 = StopWatch()
 
    while True:
        stop_watch1.click()
        print("dt        : {:10.3f} sec".format(stop_watch1.get_dt()))
        print("TimeSince : {:10.3f} sec".format(stop_watch2.get_time_since()))
        time.sleep(1.0)
cs

 

EOF

728x90

+ Recent posts