본문 바로가기
반응형

GC2

[Go] GC(Garbage Collection) 심화 GC 내가 참조하고 있는 글은 2019년에 Go 1.12v 때, 포스팅 된 글 이므로 최근의 Go와 다를 수 있다. 내가 알기론 STW도 제거하기 위해 시도하고 있다고 들었는데.. 이또한 찾아보아야겠다. GC 과정 GC가 실행될 때, 세가지의 페이즈가 존재한다. 두가지는 STW 방식이고 한가지는 어플리케이션에 지연을 유발하는 동시성 방식이다. 세가지 페이즈는 순서대로 Mark Setup - STW(Stop The World) Marking - Concurrent Mark Termination - STW 이다. 하나씩 살펴보자. Mark Setup - STW 처음 GC가 실행되면 쓰기를 제한하는 튜닝을 하게되는데 이는 GC 고루틴과 어플리케이션 고루틴의 무결성을 위해서이다. 쓰기를 제한하기 위해 모든 고루.. 2022. 8. 5.
[Go] GC(Garbage Collector) GC(Garbage Collector) Memory Garbage를 제거하는 역할 사용하지 않는 Memory를 차지하는 것들을 삭제 작동방식 쓸모없어지면 쓰레기로 판단 reference count == 0일 때. func add(){ var a int a = 20 }// 이 밖으로 나간다면 a변수의 reference count는 0이 됨 -> 쓸모가 없어짐 주솟값들이 서로를 가리켜 순환 형태를 이루는 외딴섬 형태를 이룰 때. a = b; b = c; c = a; 단점 느림. 버그 안만들면 됨.(C&&C++ 변태들 발언). GC가 잡지 못하는 leak이 있긴 함(개발자의 실수). 사용하지 않는 배열의 memory. 장점 귀찮은 일은 GC에게 맡겨 개발자의 생산성 향상. GC가 활동을 짧게 짧게 하여 개발자.. 2021. 7. 18.
반응형