Pro .NET Benchmarking: The Art of Performance Measurement
- 9h 11m
- Andrey Akinshin
- Apress
- 2019
Use this in-depth guide to correctly design benchmarks, measure key performance metrics of .NET applications, and analyze results. This book presents dozens of case studies to help you understand complicated benchmarking topics. You will avoid common pitfalls, control the accuracy of your measurements, and improve performance of your software.
Author Andrey Akinshin has maintained BenchmarkDotNet (the most popular .NET library for benchmarking) for five years and covers common mistakes that developers usually make in their benchmarks. This book includes not only .NET-specific content but also essential knowledge about performance measurements which can be applied to any language or platform (common benchmarking methodology, statistics, and low-level features of modern hardware).
What You'll Learn
- 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
Who This Book Is For
.NET developers concerned with the performance of their applications
About the Author
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.
In this Book
-
Introducing Benchmarking
-
Common Benchmarking Pitfalls
-
How Environment Affects Performance
-
Statistics for Performance Engineers
-
Performance Analysis and Performance Testing
-
Diagnostic Tools
-
CPU-Bound Benchmarks
-
Memory-Bound Benchmarks
-
Hardware and Software Timers