Go GC


Concurrent Mark & Sweep(이하 CMS라 함) 컬렉터
[GC Compaction](https://texonom.com/gc-compaction-9179519ad2ec4ba48377ad941be50edf) 도입하지 않은 이유
[Generational GC](https://texonom.com/generational-gc-9e88cd3b020e417dbe4d0a231884d0c7) 도입하지 않은 이유

세대별 GC에서는 [write barrier](https://texonom.com/write-barrier-73c82a9b955346429fee7fc504ab3172) 를 사용해서 세대 간 포인터를 기록해야 함
컴파일러의 escape 분석 성능이 우수하고 필요 시 heap에 할당되지 않도록 프로그래머가 제어할 수 있기 때문에, 세대별 가설에서 나오는 수명이 짧은 객체는 heap이 아닌 stack에 할당되기 때문에 세대별 GC로 인한 성능향상이 적다
앞으로 도입될 가능성은 있다



> [Go 언어의 GC에 대해 - LINE ENGINEERING](https://engineering.linecorp.com/ko/blog/go-gc/)





