Start reading Writing High-Performance .NET Code on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Writing High-Performance .NET Code

Writing High-Performance .NET Code [Kindle Edition]

Ben Watson
4.0 out of 5 stars  See all reviews (1 customer review)

Print List Price: £15.55
Kindle Price: £4.57 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £10.98 (71%)
* Unlike print books, digital books are subject to VAT.


Amazon Price New from Used from
Kindle Edition £4.57  
Paperback £14.03  
Kindle Daily Deal
Kindle Daily Deal: At least 60% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Special Offers and Product Promotions

  • Between 20-26 October 2014, spend £10 in a single order on item(s) dispatched from and sold by and receive a £2 promotional code to spend in the Amazon Appstore. Here's how (terms and conditions apply)

Customers Who Bought This Item Also Bought

Product Description

Product Description

Learn the secrets of excellent .NET performance with insightful, detailed, and clear explanations. Do you want your .NET code to have the absolute best performance it can? With concision and clarity, this book demystifies the CLR, teaching you how and why to write code with optimum performance. Learn critical lessons from a person who helped design and build one of the largest high-performance .NET systems in the world.

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.

Among the topics you will learn are how to:

• Choose what to measure and why
• Use many amazing tools, freely available, to solve problems quickly
• Understand the .NET garbage collector and its effect on your application
• Use effective coding patterns that lead to optimal garbage collection performance
• Diagnose common GC-related issues
• Reduce costs of JITting
• Use multiple threads sanely and effectively, avoiding synchronization problems
• Know which .NET features and APIs to use and which to avoid
• Use code generation to avoid performance problems
• Measure everything and expose hidden performance issues
• Instrument your program with performance counters and ETW events
• Use the latest and greatest .NET features
• Ensure your code can run on mobile devices without problems
• Build a performance-minded team
…and much more.

About the Author

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 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 family. He is also the author of the book C# 4.0 How-To, published by Sams.

Product details

More About the Author

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 family. He is the author of the books Writing High-Performance .NET Code and C# 4.0 How-To.

Customer Reviews

5 star
3 star
2 star
1 star
4.0 out of 5 stars
4.0 out of 5 stars
Most Helpful Customer Reviews
Format:Paperback|Verified Purchase
This is a really thorough and in-depth book that will help .NET developers understand how they can get the best performance out of the CLR.

I really recommend this for any .NET developer who cares about performance and wants to learn some invaluable lessons on how to fix any issues they might encounter. Covering topics including the the Garbage Collector and the .NET JITter in a clear and concise way, you can really tell that the author has learnt these lessons from real-world situations, encountered whilst working on the Bing team at Microsoft.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 5.0 out of 5 stars  12 reviews
6 of 7 people found the following review helpful
5.0 out of 5 stars The chapter on GC alone is worth it 25 July 2014
By I. Paradiso - Published on
Note: I received an advanced review copy of this book.

I first want to comment on the readability of this book. Most technical references read like an encyclopedia that make you glassy eyed after a few paragraphs. If you ever read "The Soul of a New Machine" and liked it (which you probably did), you'll really appreciate how this book reads. It's engaging, and reads like a technical memoirs of the lessons learned from the genesis of a very large scale .NET service. Readability is great, but the technical content is invaluable.

I personally felt that the chapter on GC alone is easily worth the price of the book and the time to read it. It doesn't dive into an exhaustive summary of how the CLR works, but it clearly draws out the profoundly important things you need to understand about how to best manage memory and address GC in the CLR. The takeaway here is memory management is completely controllable. This is knowledge that someone will eventually have to acquire over time when working on large scale systems, so it's an excellent resource to fully understand what you need to know about GC.

The book is also peppered with very valuable code snippets and downloadable content with debugging instructions to understand the concepts in this book. Overall, this book does a very good job and breaking down the myths of poor performing managed code, and the optimal strengths managed code has over native.

I gave this book 5 stars for several reasons. First, it delivers on the content and readability the book is selling. It's not trying to be an exhaustive summary of .NET or the CLR. The price is also very generous for the content you're getting. Rather it is teaching you some of the most valuable lessons, tips, and resources to writing high performance .NET application. Finally, it reads very quickly. I found myself finishing this book much faster than most computer science books of similar length.
4 of 5 people found the following review helpful
5.0 out of 5 stars The two best things about this book are 9 Aug 2014
By George Hilios - Published on
Note: I received a review copy of this book

This book is a must have if you aim to develop any serious .NET-based software that is performant and scalable. The two best things about this book are:
1) The clear explanation of how the GC works and how seemingly innocuous implementation decisions can seriously affect your performance
2) How to use the freely available performance monitoring tools to debug hot spots

I particularly enjoyed the detailed explanations of the free performance monitoring tools and how my team can leverage ETW to get granular insight into how our .NET services are performing. Before reading this I believed we needed to buy expensive tools from Jet Brains and wasn't even aware we had other options!

One thing I would've liked to see in this book is an acknowledgement that designing for performance and building monitoring into the first generation of a product is a tough sell to management. It also gets in the way of quickly iterating on ideas that you are turning into products. How would the author recommend we get over this, and how would he recommend we build such capabilities into the existing product after its initial version? I'm sure he has quite a bit of experience in his time at Bing.

Regardless, this book is a must have for any .NET developer worth his or her salt.
1 of 1 people found the following review helpful
5.0 out of 5 stars Great read and very useful book. 18 Oct 2014
By Ken Faulkner - Published on
Writing High-Performance .NET Code is a clearly written, understandable explanation of what should be focused on when you want to get performance out of your .NET application. This book can be (and is) used as both a cover-to-cover read, conveying the important topics in an easy to read style but also as a solid reference to be picked up when required.

The highlights for me are the first 2 chapters, "Performance Measurement and Tools" and most of all "Garbage Collection". The GC chapter alone makes the book a worthwhile purchase. Chapter 5 ( "General Coding and Class Design" ) is also a very good read.

I would (and have) recommend this book to anyone that wants to know how to get more out of their server/application while having the joy of still staying in the .NET environment.

Well written and worth every cent.
1 of 1 people found the following review helpful
5.0 out of 5 stars Invaluable Details 18 Sep 2014
By Todd Segal - Published on
Format:Kindle Edition|Verified Purchase
Ben is a fantastic guide on the road to writing high performance code in .NET. This book is incredibly well-crafted - it is easy to follow along and dive deep into the details that will most impact your .NET applications and services. The writing is impressive - discussing things like GC, concurrency tradeoffs and measurement techniques are incredibly nuanced and can be overwhelming. Ben's style provides layers to these topics so the reader can choose how deep to go while still gaining valuable insights. I've definitely appreciated how easy it was to apply learnings from this book to everyday development and also use it as a handy reference when needing to dig deep into subtle problems in a large codebase.

I would highly recommend this to any .NET developer who wants to learn not only how to optimize their solution but to become a better developer.
1 of 1 people found the following review helpful
5.0 out of 5 stars The missing .NET performance book 20 Oct 2014
By Weismat - Published on
Format:Kindle Edition
This is a great book closing a clear gap in the .NET book space. The book is targeted at the experienced .NET developers who have also some understanding of CLR internals as explained in “CLR via C#” from Jeffrey Richter.
It gives a very good overview of free tools for performance measurement and analysis tools, which is unique and deeply missing.
The book is opinionated in a very positive way – MSDN tends to be very neutral leaving you wondering what makes usually the most sense and what might make sense in special cases. This book gives you the missing guide line.
This book is real bargain at 10 USD/8 EUR for an ebook and should be in the library of any professional and ambitious .NET developer. The tool list itself is worth the money.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category