Book Review: Learning .NET High-Performance Programming
I couldn't have received a review request for Learning .NET High-Performance Programming by Antonio Esposito at a more appropriate time. Struggling with some performance issues in a .NET project at work, I was already looking at resources on the subject. The offer seemed a great opportunity to kill two birds with one stone: get new ideas for tackling the challenges in our project and help the publisher out with a review at the same time.
Unfortunately the book didn't meet my expectations. I was expecting in-depth content, describing the good and bad practices in different scenarios supported by measurements, pitfalls to be aware of, options to consider. Instead I only got a high-level overview of several performance related aspects, at best.
The introductory chapters are very generic and subjective with very little to support the author's point of view. The remainder of the book covers a broad selection of topics, all of them related to performance in one way or another: Common Language Runtime internals, parallelism and asynchronicity, data access, distributed computing. As a consequence, the author only manages to mention what needs to be considered when thinking about performance, but gives very little guidance or useful advice. Occasional inaccuracies in text and errors in samples decrease the value even further. On top of that, the author's use of English language can make the book more difficult to read.
I really can't recommend the book to anyone, at least not for the full price. At a discount, it might be of limited use to someone, who's just starting to learn about performance, before moving on to more advanced resources. It should still be read with a grain of salt, though.