Pro .NET Benchmarking: The Art of Performance Measurement ペーパーバック – 2019/6/28
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
- Be aware of the best practices for writing benchmarks and performance tests
- Avoid the common benchmarking pitfalls
- Know the hardware and software factors that affect application performance
- Analyze performance measurements
Andrey Akinshin, PhD is a senior developer at JetBrains, where he works on Rider (a cross-platform .NET IDE based on the IntelliJ platform and ReSharper). His favorite topics are performance and micro-optimizations, and he is the project lead of BenchmarkDotNet (a powerful .NET library for benchmarking supported by the .NET Foundation). Andrey is a frequent speaker at various events for developers, and he is the program director of the DotNext conference. He has a PhD in computer science, is a Microsoft .NET MVP, and ACM ICPC medalist. In his free time, he likes to study science (his primary research interests are mathematical biology and bifurcation theory). Previously, he worked as a postdoctoral research fellow at the Weizmann Institute of Science.
The book inspired me, I learned quite a lot, so overall it was a good choice.
However what I dislike from the first moment are notorious repetitions, I cannot tell if the author was so afraid of writing shorter book, or was it forced by Apress, the result is reader if flooded with basically babbling. Main intro, intro for section, summary, summary of summaries. It makes reading harder, no easier, because you have to sift through all this wall of text (unless you have time to waste) and then such volume takes a lot of space on the shelf, despite the fact good portion of the book is useless.
Another complain is placement of references -- for printed book, adding them at the end of the chapters make using them difficult, because you have to find end of the chapter first. End of the book or footnotes would be a better choice.
TL;DR -- essence is great and I recommend it if you want to benchmark your code thoroughly or optimize it, there are a lot of information presented here hard to find elsewhere, I recommend it but be prepared for a lot of extra water.