still line breaks
This commit is contained in:
@@ -150,18 +150,18 @@ stack:
|
|||||||
|
|
||||||
- Stop & Copy:
|
- Stop & Copy:
|
||||||
|
|
||||||
– requires a long pause in program execution
|
– - requires a long pause in program execution
|
||||||
+ can handle cyclical data structures!
|
- \+ 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)
|
- \+ 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”
|
- \+ data is clustered together and memory is “de-fragmented”
|
||||||
|
|
||||||
- Mark-Sweep:
|
- Mark-Sweep:
|
||||||
|
|
||||||
– requires a long pause in program execution
|
– - requires a long pause in program execution
|
||||||
+ can handle cyclical data structures!
|
- \+ can handle cyclical data structures!
|
||||||
+ requires ∼1% extra memory (just one bit per node)
|
- \+ 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.
|
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
|
## 25.11 Practical Garbage Collection Methodology in C++: Smart Pointers
|
||||||
@@ -172,6 +172,7 @@ also when we are developing big complex programs that process and rearrange lots
|
|||||||
enormous beast of a programming language (but that doesn’t stop people from trying!). So is there anything
|
enormous beast of a programming language (but that doesn’t stop people from trying!). So is there anything
|
||||||
we can do? Yes, we can use Smart Pointers to gain some of the features of garbage collection.
|
we can do? Yes, we can use Smart Pointers to gain some of the features of garbage collection.
|
||||||
Some examples below are modified from these nice online references:
|
Some examples below are modified from these nice online references:
|
||||||
|
|
||||||
[http://ootips.org/yonat/4dev/smart-pointers.html](http://ootips.org/yonat/4dev/smart-pointers.html)
|
[http://ootips.org/yonat/4dev/smart-pointers.html](http://ootips.org/yonat/4dev/smart-pointers.html)
|
||||||
|
|
||||||
[http://www.codeproject.com/KB/stl/boostsmartptr.aspx](http://www.codeproject.com/KB/stl/boostsmartptr.aspx)
|
[http://www.codeproject.com/KB/stl/boostsmartptr.aspx](http://www.codeproject.com/KB/stl/boostsmartptr.aspx)
|
||||||
|
|||||||
Reference in New Issue
Block a user