From 9baacfa53392cbdf83e5aa05614be6f2e137560e Mon Sep 17 00:00:00 2001 From: Jidong Xiao Date: Sat, 25 Nov 2023 00:19:40 -0500 Subject: [PATCH] escape --- lectures/25_garbage_collection/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lectures/25_garbage_collection/README.md b/lectures/25_garbage_collection/README.md index 73dcf8f..f799e68 100644 --- a/lectures/25_garbage_collection/README.md +++ b/lectures/25_garbage_collection/README.md @@ -150,18 +150,18 @@ stack: - Stop & Copy: - - - requires a long pause in program execution + - \- requires a long pause in program execution - \+ can handle cyclical data structures! - - – requires 100% extra memory (you can only use half the memory) + - \– requires 100% extra memory (you can only use half the memory) - \+ runs fast if most of the memory is garbage (it only touches the nodes reachable from the root) - \+ data is clustered together and memory is “de-fragmented” - Mark-Sweep: - - - requires a long pause in program execution + - \- requires a long pause in program execution - \+ can handle cyclical data structures! - \+ requires ∼1% extra memory (just one bit per node) - - - runs the same speed regardless of how much of memory is garbage. + - \- runs the same speed regardless of how much of memory is garbage. It must touch all nodes in the mark phase, and must link together all garbage nodes into a free list. ## 25.11 Practical Garbage Collection Methodology in C++: Smart Pointers