As I mentioned near the beginning of the chapter, generations is a mechanism within the CLR garbage collector that’s sole reason for being is to improve an application’s performance. A generational garbage collector (also known as an ephemeral garbage collector, though I don’t use this latter term in this book) makes the following assumptions:
The newer an object is, the shorter its lifetime will be.
The older an object is, the longer its lifetime will be.
Collecting a portion of the heap is faster than collecting the whole heap.
Numerous studies have demonstrated the validity of these assumptions for a very large set of existing applications, and these assumptions have influenced how the garbage collector is implemented. In this section, ...