From 248ea16762750d0dba0bc7e2e86dd39a1024e027 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 26 Jul 2018 18:27:42 -0400 Subject: [PATCH] WIP --- docs/Garbage-Collector-Lazy-Sweeping.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Garbage-Collector-Lazy-Sweeping.md b/docs/Garbage-Collector-Lazy-Sweeping.md index 4d7e190d..9ecaa93f 100644 --- a/docs/Garbage-Collector-Lazy-Sweeping.md +++ b/docs/Garbage-Collector-Lazy-Sweeping.md @@ -17,7 +17,7 @@ # Introduction -Cyclone uses a concurrent mark-sweep garbage collection algorithm [described in detail here](Garbage-Collector.md). But there are still some basic improvements to mark-sweep that can be made. One such improvement suggested by the [Garbage Collection Handbook](#references) is lazy sweeping. +Cyclone uses a concurrent mark-sweep garbage collection algorithm [described in detail here](Garbage-Collector.md). But there are still some basic improvements to the mark-sweep algorithm that can be made. One such improvement suggested by the [Garbage Collection Handbook](#references) is lazy sweeping. The basic idea is that instead of having the collector thread sweep the entire heap at once when tracing is finished, each mutator thread will sweep its own heap incrementally as part of allocation. When no more free space is available to meet a request the allocator will check to see if there are unswept heap pages, and if so, the mutator will pick one and sweep it to free up space. This amortizes the cost of sweeping.