[Python] 도대체'i+=1'과'i=i+1'중 뭐가 더 빠른가요?

개요


"i+=1"과 "i=i+1"의 처리 속도를 비교합니다.
이미 상세하게 정리[소단] Python에서 i=i+1이 i+=1보다 미묘하게 빠르다했기 때문에 여기서 상자수도로 가시화해야 한다.

방법


'i+=1'과'i=i+1'은 각각 10000000회를 계산하여 한 세트로 삼아 100회를 측정하고 상자의 그림으로 비교한다.
상자 수염도 참조프로그래머 통계학.
처리 속도 비교
import time
import matplotlib.pyplot as plt

number_of_set = 100
list_1 = []# "i = i + 1"
list_2 = []# "i += 1"
n = int(1e+7)

# "i = i + 1"と"i += 1"の計測
for _ in range(number_of_set):
    # "i = i + 1"
    i = 0
    start_1 = time.time()
    for _ in range(n):
        i = i + 1
    list_1.append(time.time() - start_1)

    # "i += 1"
    i = 0
    start_2 = time.time()
    for _ in range(n):
        i += 1
    list_2.append(time.time() - start_2)

# 箱ひげ図
time = (list_1, list_2)# タプル化
fig, ax = plt.subplots()
bp = ax.boxplot(time)
ax.set_xticklabels(['i = i + 1', 'i += i'])
plt.title('100 times with 10,000,000 loops as one set')
plt.xlabel('type')
plt.ylabel('time [sec]')
plt.grid()
# 描画
plt.show()

결론


상자에서 "i=i+1"의 결과가 더 빠릅니다.
다만'i+=1'이 시원해서 임기응변으로 분리해서 사용하고 싶어요.

참고 자료


[소단] Python에서 i=i+1이 i+=1보다 미묘하게 빠르다

좋은 웹페이지 즐겨찾기