작은 편의 클래스의 도움으로 다음 과 같이 들여 쓰기 된 줄에 소요 된 시간을 측정 할 수 있습니다 .
with CodeTimer():
line_to_measure()
another_line()
들여 쓴 줄이 실행을 마친 후 다음과 같이 표시됩니다.
Code block took: x.xxx ms
업데이트 : 이제와 클래스를 얻을 수 있습니다 pip install linetimer
후 from linetimer import CodeTimer
. 이 GitHub 프로젝트를 참조하십시오 .
위 클래스의 코드 :
import timeit
class CodeTimer:
def __init__(self, name=None):
self.name = " '" + name + "'" if name else ''
def __enter__(self):
self.start = timeit.default_timer()
def __exit__(self, exc_type, exc_value, traceback):
self.took = (timeit.default_timer() - self.start) * 1000.0
print('Code block' + self.name + ' took: ' + str(self.took) + ' ms')
그런 다음 측정하려는 코드 블록의 이름을 지정할 수 있습니다.
with CodeTimer('loop 1'):
for i in range(100000):
pass
with CodeTimer('loop 2'):
for i in range(100000):
pass
Code block 'loop 1' took: 4.991 ms
Code block 'loop 2' took: 3.666 ms
그리고 그들을 중첩하십시오 .
with CodeTimer('Outer'):
for i in range(100000):
pass
with CodeTimer('Inner'):
for i in range(100000):
pass
for i in range(100000):
pass
Code block 'Inner' took: 2.382 ms
Code block 'Outer' took: 10.466 ms
에 관해서 timeit.default_timer()
는 OS 및 Python 버전에 따라 최고의 타이머를 사용합니다 . 이 답변을 참조하십시오 .
time.clock()
, 및time.clock()
Windows에서 유닉스에 대한 조치 CPU 시간 만 월 시간.time.time()
OS에 따라 동작이 다르지 않은 곳 에서 사용 하는 것이 좋습니다 . stackoverflow.com/questions/85451/…