용어?
메모리 오버헤드 (memory overhead)
gnoJJ
2025. 2. 20. 17:14
주된 작업을 수행하는 데에 직접적으로 사용하는 메모리 외의 추가적으로 사용하는 메모리
1️⃣ 배열(array)
- 정수 100개를 저장한다고 하면, 정수 100개 크기만큼의 메모리를 차지함.
- 예를 들어, int형(4바이트) 배열이라면 → 100 × 4B = 400바이트만 사용하면 됨.
2️⃣ BST(Binary Search Tree)
- 같은 정수 100개를 저장하려고 해도,
각 노드는 데이터(int)뿐만 아니라 왼쪽, 오른쪽 자식 노드를 가리키는 포인터(포인터는 8바이트)를 저장해야 함. - 즉, 각 노드마다 추가적인 메모리(오버헤드)가 필요함!
- 만약 int형 데이터를 저장하는 BST라면,
- 데이터: 4B
- 왼쪽 포인터: 8B
- 오른쪽 포인터: 8B
➡ 총 20바이트!
- 노드가 100개라면?
- 20B × 100개 = 2000바이트 → 배열(400B)보다 5배나 더 많이 사용!
by. ChatGPT