Shenandoah trong OpenJDK 17: hiện thực hóa GC Pause dưới một mili giây
(developers.redhat.com)- Dự án Shenandoah Garbage Collection đặt mục tiêu giảm thời gian tạm dừng khi GC xảy ra
→ Tăng khả năng đáp ứng thông qua xử lý đồng thời
→ JDK12: đưa vào Concurrent Heap Evacuation, cho phép dọn dẹp heap mà không cần dừng ứng dụng
→ JDK14: Concurrent Class Unloading
→ JDK16: Concurrent Reference Processing
→ JDK17: với việc đưa vào Concurrent Thread-stack Processing, đã có thể đạt được pause dưới một mili giây
2 bình luận
ZGC cũng khá nổi tiếng.
Tuy nhiên, nó tận dụng 64 bit trong con trỏ của biến (https://img1.daumcdn.net/thumb/R1280x0/…) nên chỉ có thể dùng trên hệ điều hành 64 bit.
Trước đây tôi từng tìm hiểu về hiệu năng VM của ngôn ngữ kịch bản,
và với V8 của JS thì nguyên lý hoạt động được nói là như sau.
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
Giới thiệu về các đặc điểm và thuật toán đơn giản của GC Shenandoah
https://dev-punxism.tistory.com/entry/Shenandoah-gc
https://meetup.toast.com/posts/234
Trước giờ tôi chỉ biết đến Shenandoah qua lời bài hát Take Me Home Country Road..