Pro .NET Performance: Optimize Your C# Applications

Front Cover
Apress, Sep 12, 2012 - Computers - 372 pages

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 ContentsChapter 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

About the author (2012)

Sasha Goldshtein is a Microsoft Visual C# MVP, and the CTO of SELA Group. Sasha leads the Performance and Debugging team in the SELA Technology Center, and consults on various topics including production debugging, application performance troubleshooting, and distributed architecture. Most of Sasha’s experience is in C# and C++ application development, as well as high-scalability and high-performance system architecture. He is a frequent speaker at Microsoft conferences, and the author of multiple training courses: '.NET Performance', '.NET Debugging', 'Windows Internals', and many others.

Dima Zurbalev is a Senior Consultant at SELA Group’s Performance and Debugging emergency response team. Dima’s troubleshooting and debugging skills enable him to solve seemingly impossible problems for customers, bringing to the table deep understanding of CLR and Windows internals. Most of his development experience revolves around.NET and C++ infrastructure projects. Dima is an active contributor to multiple open-source projects on Microsoft’s CodePlex website.

Ido Flatow is a Microsoft Connected Systems MVP, and a Senior Architect at SELA Group. With over 15 years of experience, Ido is one of SELA’s Windows Azure and Web experts, specializing in technologies such as WCF, ASP.NET, Silverlight, and IIS. He is a Microsoft certified trainer (MCT), the co-author of Microsoft's Official WCF 4.0 course (10263A), and a frequent speaker at conferences worldwide. His blog can be found at http://blogs.microsoft.co.il/blogs/idof.

Bibliographic information