728x90
반응형
튜플
튜플은 한번 생성되면 내용이나 크기를 변경할 수 없지만 두 튜플을 합칠 수는 있다.
>>> t1 = (1,2,3)
>>> t2 = (4,5,6)
>>> t1 + t2
# (1,2,3,4,5,6)
튜플은 합치면 항상 메모리에 새로운 튜플을 새로 할당 한다.
또 튜플은 여유공간을 할당하지 않기 때문에 자원을 더 적게 사용한다.
l = [i for i in range(100000)]
t = tuple(l)
print('list', sys.getsizeof(l))
print('tuple', sys.getsizeof(t))
list 824464
tuple 800048
이 때문에 정적인 데이터를 다룰때는 리스트보다는 튜플이 좋다.
또한 튜플은 정적이기에 리소스 캐싱을 하는데 크기가 20~2만 까지는 회수하지 않고 저장해 둔다.
이는 같은 크기에 튜플이 필요해지면 기존 메모리 공간을 활용 한다는 것이다.
728x90
반응형
'Python > Python' 카테고리의 다른 글
[Python] 파이썬 비동기 I/O (0) | 2021.11.25 |
---|---|
[Python] 사전(dict) 와 셋(set) 의 성능 (0) | 2021.11.15 |
[Python] 리스트(list) 성능 (0) | 2021.11.12 |
[Python] 프로파일링 cProfile, memory_profiler (0) | 2021.11.12 |
[Python] 검색 방법 profile 해보기 (0) | 2021.11.09 |