3.17 Analysis: Garbage Collection

In about 5 pages (approximately 325 80-character lines or 2,750 words), write a paper about garbage collection.

Provided you write intelligently and demonstrate your understanding of garbage collection, you can write about whatever you’d like. If that is too vague for you, or if you need some guidance, here are some suggestions:

- Discuss what is good, bad, ugly, and awesome about reference counting.

- Discuss what is good, bad, ugly, and awesome about mark & sweep.

- Discuss what is good, bad, ugly, and awesome about stop & copy.

- Discuss the special considerations that large objects require of a garbage collector.

- Discuss the implications of garbage collected and non-garbage collected code interacting, such as Java and C.

- Discuss object header contents and placement options.

- Discuss what makes generational collectors difficult to implement.

- Discuss the intergenerational hypothesis. Do you believe it is true for programs that you write? Can you think of kinds of programs where it definitely is or is not true?

- Learn about region-based memory management and discuss it.

- Discuss the trade-offs of using or not using garbage collection. Are there certain domains where you feel it is necessary? Are there any domains you feel are particularly bad to garbage collect?

- Discuss how garbage collection relates to modularity.

Refer to Language Analysis the First for details about including citations, history, code, etc in your writing in this class.