Shenandoah in OpenJDK 17 : 밀리초 미만의 GC Pause 구현
(developers.redhat.com)- Shenandoah Garbage Collection 프로젝트는 GC시에 일시 중지 시간을 줄이는 것이 목표
ㅤ→ Concurrent 처리를 통해서 응답성을 높임
ㅤ→ JDK12 : Concurrent Heap Evacuation 을 도입해서 앱 중지없이 힙 청소 가능
ㅤ→ JDK14 : Concurrent Class Unloading
ㅤ→ JDK16 : Concurrent Reference Processing
ㅤ→ JDK17 : Concurrent Thread-stack Processing 도입으로 밀리초 미만의 Pause가 가능해짐
ZGC도 꽤 유명하더라고요.
- https://blogs.oracle.com/javamagazine/post/…
다만, 변수의 포인터에서 64bit를 활용해(https://img1.daumcdn.net/thumb/R1280x0/…) 64비트 운영체제에서만 사용가능합니다.
- https://huisam.tistory.com/entry/jvmgc
예전에 스크립트 언어 VM 성능관련해서 찾아봤었는데,
JS의 V8 경우는 다음과 같은 원리라고 하네요.
- https://v8.dev/blog/concurrent-marking
- https://v8.dev/blog/orinoco
- https://v8.dev/blog/trash-talk
- https://v8.dev/blog/high-performance-cpp-gc
Shenanadoah gc의 특징과 간단한 알고리즘에 대한 소개
- https://dev-punxism.tistory.com/entry/Shenandoah-gc
- https://meetup.toast.com/posts/234
전 쉐넌도어는 Take Me Home Country Road 노래 가사로만 접해봤는데..