Jump to ratings and reviews
Rate this book

Pro .NET Performance: Optimize Your C# Applications

Rate this book
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 "

396 pages, Paperback

First published September 12, 2012

15 people are currently reading
135 people want to read

About the author

Sasha Goldshtein

7 books1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
30 (41%)
4 stars
31 (42%)
3 stars
9 (12%)
2 stars
2 (2%)
1 star
1 (1%)
Displaying 1 - 5 of 5 reviews
Author 2 books111 followers
February 7, 2017
Performance is a hot topic these days. Currently, you may see a big push in the .NET world towards reducing performance overhead as much as possible in critical areas like .NET Framework, ASP.NET stack, and others.

Pro .NET Performance is supposed to be a good source for this topic. Internal details of the CLR, a lot of advice about performance best practices etc. And the book serves this purpose. But not in a full degree.

I really wanted to love this book, but I just liked it.

There are few reasons for that.

The book is trying to accomplish more that it should. For instance, instead of focusing just on the CLR, .NET and C#, it tries to cover some other topics, like GPU programming (with no direct use cases from the managed code), algorithm optimization (way more general topic), Web performance (an entirely different world that deserves one or two separate books).

.NET itself is very complicated and I really want to dive deeply Just in this area. I want to learn more about JIT, I want to learn more about CLR internals, I want to learn more about performance tuning of my managed app. The book covers those topics but it just scratches the surface.
There are so many myths today that LINQ is bad, that GC is fast, that concurrent programming is easy, that value types will always help and many others. That’s why I would prefer to stay in this area instead of spreading the energy on other, important, but different topics like web programming.

Another aspect that I didn’t like related to a tone of the book. In many cases topics are covered in extreme details: lots of assembly code here and there, even in some places where a short description with plain English or a small diagram will suffice. On the other hand, some topics are described on the high level: concurrency and TPL is an example. In some other cases, the chapter just describes some tool like NGEN, MPGO or something else, will assembly listings but without any guidance or best practices. Should I care? Does it worth it? I don’t know. I want to hear advice from the expert, in this case, not just read some description.

The book is not perfect. As every one of us. But it is helpful. If you’re interested in high-performance managed application the book is for you. Yep, it barely scratches the surface in some areas and covers some internal stuff with a ridiculous amount of details.
Author 1 book35 followers
November 25, 2012
It is often said that all problems in computer science can be solved by another layer of indirection. All, except performance problems. Typically, when performance problems occur, it’s best to approach them like peeling an onion – removing abstractions one by one.

Joel Spolsky once wrote that all abstractions are leaky, and when it comes to understanding and solving performance problems, we often times need to understand things beyond the abstraction. Pro .NET Performance takes exactly this approach – it looks beyond the abstractions the .NET framework provides. Each chapter takes a deep look “under the hood”, into the internals of memory management, object lifetime, reference vs. value types, garbage collection, generic types internals, parallelism and concurrency, unmanaged code, and many more topics, with regards to common performance problems associated with them. This book walks you through the internals of the CLR by utilizing free and commercial tools available, such as CLR profilers, debuggers and other little-known tricks. Pro .NET Performance also has a chapter on algorithm optimization, giving background information on complexity, Big-O notation, Turing machines and NP problems, followed by chapters on performance patterns.

Overall, this book provides very in-depth peek into the internals of the CLR and .NET Framework in general. The author of the book has been teaching and blogging about performance for many years, and now this information is available in this great book, that should be read by anyone who is serious about software development.
Profile Image for Rohit.
21 reviews5 followers
January 19, 2014
One of the best c# books i've read (a must read along with "clr via c#")
Profile Image for Gabrielam13.
179 reviews27 followers
December 14, 2018
Un ghid destul de interesant în lumea performanței în .NET. Am descoperit cum funcționează GC-ul, cum să folosești în mod corect concurent threads, cum să profiți de toate procesoarele computerelor, cum să îmbunătățești performanța aplicațiilor web și multe altele, care mi-au trecut prin creier ca o briză ușoară, nestatornică.

M-am împotmolit destul de mult în exemplele din assemble language. Și deși din această cauză probabil nu am înțeles în profunzime mecanismele pe care încerca să le explice, tot consider că am avut multe de învățat.

La începutul cărții prezintă un număr destul de considerabil de tool-uri cu care îți poți monitoriza aplicațiile. Am fost determinată să le explorez pe toate pe măsură ce le citesc, dar din cauză că durează ceva timp procesul de instalare și explorare, am renunțat, păstrând în minte că voi avea mereu la dispoziție un catalog la care mă pot întoarce la nevoie.

A durat ceva timp să termin cartea în ciuda faptului că nu e extrem de groasă. Și chiar dacă a fost pe alocuri anevoioasă, au fost și multe capitole pe care le-am savurat, așa că voi conclude că a meritat.
Profile Image for Alexey.
30 reviews3 followers
August 13, 2018
You cannot really read the entire book without putting your hands on tools. So it will take time and
you'll get back to it again and again.
Displaying 1 - 5 of 5 reviews

Can't find what you're looking for?

Get help and learn more about the design.