변수가 많으면 리스트로 변수 수를 줄여서 인덱싱하여 각 원소에 접근하는데, 이 비용이 생각보다 비싸다.
몇번 반복 안하면 무시할정도긴 해도 수천만번, 수억번이상 반복하면 이 비용을 무시할 수 없을정도로 커진다
변수가 3개 필요한 경우 리스트를 이용해서 길이가 3인 리스트를 만들고 다음과 같은 코드를 작성하였다.
import time
s = time.time()
for _ in range(40320):
b = [0,0,0]
score = 0
for _ in range(50):
b[0] = 1
b[1] = 1
b[2] = 1
for _ in range(120):
score += (b[0]+b[1]+b[2])
b[0] = 0
b[1] = 0
b[2] = 0
e = time.time()
print(e-s)

이번엔 b = [0,0,0]을 b1,b2,b3로 바꿔서 해보면
import time
s = time.time()
for _ in range(40320):
b1 = 0
b2 = 0
b3 = 0
score = 0
for _ in range(50):
b1 = 1
b2 = 1
b3 = 1
for _ in range(120):
score += (b1+b2+b3)
b1 = 0
b2 = 0
b3 = 0
e = time.time()
print(e-s)

한 10초정도 차이나는듯?
chatGPT피셜 리스트 인덱싱 비용에 어느정도 비용이 있다고 설명함

728x90
'프로그래밍 > Python' 카테고리의 다른 글
| MCP 배운 기념 간단하게 사용해보기1 (0) | 2025.04.02 |
|---|---|
| 호요랩 자동 출석 체크 프로그램 만들기 프로젝트3(로딩 지연 문제 + 백그라운드에서 실행) (0) | 2025.03.21 |
| 호요랩 자동 출석 체크 프로그램 만들기 프로젝트2(상대적 xpath? css selector?) (0) | 2025.03.16 |
| 호요랩 자동 출석 체크 프로그램 만들기 프로젝트1(iframe 주의하기) (0) | 2025.03.13 |
| python에서 logging 간단하게 (0) | 2024.04.30 |