마이크로벤치마킹을 수행할 때 한 가지 문제는, 수학 커널 함수(kernel function) 등의 타이트 루프(tight loop, 연산만으로 이뤄진 루프)의 성능을 측정할 때 발생할 수 있다. 예를 들어 다음 코드는 리스트에 포함된 숫자의 합을 구하는 함수의 속도를 테스트한다.
def loop_sum(items):
total = 0
for i in items:
total += i
return total
count = 1000
delay = timeit.timeit(
setup="numbers = list(range(10_000))",
stmt="loop_sum(numbers)",
globals=globals(),
number=count,
)
print(f"{delay/count*1e9:.2f} 나노초")
>>>
142365.46 나노초