This chapter covers general coding and type design principles not covered elsewhere in this book. .NET contains features for many scenarios and while many of them are at worst performance-neutral, some are decidedly harmful to good performance. Others are neither good nor bad, just different, and you must decide what the right approach in a given situation is.
If I were to summarize a single principle that will show up throughout this chapter and the next, it is:
In-depth performance optimization will often defy code abstractions.
This means that when trying to achieve extremely good performance, you will need to understand and possibly rely on the implementation details at all layers. Many of those ...