3. GC vs Manual ¶
- 프로그래머의 생산성
- 프로그램의 효율성
- 메모리 관리자의 처리량 + 정지 시간
- 공간 오버헤드
=> 연구 결과를 통해서 성능차이가 없는 것을 증명했다. (단, 메모리를 5배 정도 더 줄 때) - 메모리 관리자의 처리량 + 정지 시간
=> 보통의 경우 17%의 오버헤드가 있다.
=> Manual 하게 할 때도 오버헤드는 있다.
4. Definitions ¶
- Heap
프로그램 사용 영역
- Roots
javascript 로 따지면 windows 같은 것, 절대로 해제가 안될 것, global하게 노출되어 있는 것
- Collector
- Mutators
5. Object Liveness ¶
- Dead : 안쓰고 있는 메모리
- Live : 사용하고 있는 메모리
- True liveness => 실제로 판별하기 굉장히 어려움
- Pointer reachability => 대부분의 경우 이 방식
- True liveness => 실제로 판별하기 굉장히 어려움