Take performance to the next level! This book does not just teach you how the CLR works---it teaches you exactly what you need to do now to obtain the best performance today. It will expertly guide you through the nuts and bolts of extreme performance optimization in .NET, complete with in-depth examinations of CLR functionality, free tool recommendations and tutorials, useful anecdotes, and step-by-step guides to measure and improve performance.
This second edition incorporates the advances and improvements in .NET over the last few years, as well as greatly expanded coverage of tools, more topics, more tutorials, more tips, and improvements throughout the entire book.
New in the 2nd
50% increase in content! New examples, code samples, and diagrams throughout entire book More ways to analyze the heap and find memory problems More tool coverage, including expanded usage of Visual Studio More benchmarking New GC configuration options Code warmup techniques New .NET features such as ref-returns, value tuples, SIMD, and more More detailed analysis of LINQ Tips for high-level feature areas such as ASP.NET, ADO.NET, and WPF Also find expanded coverage and discover new tips and tricks
Profiling with multiple tools to quickly find problem areas Detailed description of the garbage collector, how to optimize your code for it, and how to diagnose difficult memory-related issues How to analyze JIT and diagnose warmup problems Effective use of the Task Parallel Library to maximize throughput Which .NET features and APIs to use and which to avoid Instrument your program with performance counters and ETW events Use the latest and greatest .NET features Build a performance-minded team ...and so much more
Ben Watson has been a software engineer at Microsoft since 2008. On the Bing platform team, he has built one of the world’s leading .NET-based, high-performance server applications, handling high-volume, low-latency requests across tens of thousands of machines for millions of customers. In his spare time, he enjoys geocaching, books of all kinds, classical music, and spending time with his wife and children. He is the author of the books Writing High-Performance .NET Code and C# 4.0 How-To.
Great book with lots of good advice on how to get the most performance out of your .NET application. Usually performance isn't the first thing I'm thinking about for applications I write. But now when I write code I will definitely think about the performance considerations for the code I write. Although normally performance isn't that big of a problem since my applications don't need to serve hundreds of thousands of customers.
If considering the book as a collection of best performance-related practices - it is pretty good. You cannot go too wrong using its advice.
On the other hand, if considering it as a book with non-trivial insights - TBH, given the author's access to MS teams, I expected a bit more. Chapter 2 on GC is pretty good (kudos!) but the rest is not exactly inspiring. Also benchmarks are too few and far between (and counting asm instructions is not a substitute for benchmarks on modern CPUs where single instruction can get anywhere between less-than-1 and 100+ cycles).