Pro .NET Performance: Optimize Your C# Applications (Paperback)

Sasha Goldshtein


Maximizing the performance of your algorithms and applications is extremely important and can give you a competitive advantage, a lower cost of ownership, and happier users. Pro .NET Performance explains the internals of Windows, the CLR, and the physical hardware that affect the performance of your applications, and gives you the knowledge and tools to measure how your code performs in isolation from external factors.

The book is full of C# code samples and tips to help you squeeze every bit of juice from your application—lower memory utilization, consistent CPU usage, and fewer I/O operations across the network and disk. Pro .NET Performance will change the way you think about .NET application development.

  • Guides you through performance measurement with a variety of profilers and other tools
  • Explains how OS and CLR internals affect your application’s performance in unexpected ways
  • Provides you with tips and real-life case studies for improving application performance

What you’ll learn

  • Measure your code’s performance with profilers and other tools.
  • Understand where the bottlenecks are and focus on the right area for performance improvement.
  • Manage memory efficiently by interacting properly with the garbage collector.
  • Avoid common pitfalls by choosing the right abstractions.
  • Understand the performance implications of the underlying operating system and runtime.
  • Improve the performance of your applications by parallelization, caching, micro-optimization, and other techniques.

Who this book is for

Pro .NET Performance is for working .NET developers who care about the performance of their applications. It requires basic familiarity with Windows and the CLR, but guides the reader along the way and does not require prior experience with any performance-measurement tools. Pro .NET Performance also offers practical tips, case studies, and low-level knowledge for experienced developers and architects.

Table of Contents

Chapter 1: Performance Metrics

Chapter 2: Performance Measurement Tools

Chapter 3: Type Internals

Chapter 4: Garbage Collection and Finalization

Chapter 5: Collections and Generics

Chapter 6: Concurrency and Parallelism

Chapter 7: Networking, I/O, and Serialization

Chapter 8: Unsafe Code and Interoperability

Chapter 9: Algorithm Optimization

Chapter 10: Performance Patterns

Chapter 11: Web Application Performance