Abstract
Application performance always matters. Sometimes critically, sometimes subtly, but it’s never irrelevant. While many developers rightly caution that “premature optimisation is the root of all evil,” the opposite mistake, ignoring performance until it becomes a serious issue, can be just as problematic.
This talk explores the practical aspects of performance optimisation in .NET. We’ll look at proven strategies for monitoring, identifying, analysing, and iteratively improving applications. You’ll learn how to approach the performance lifecycle, from monitoring applications in production and pinpointing the best areas to optimise, to investing valuable engineering time where it counts most.
Through a worked example, we’ll follow a feature through the optimisation cycle. We’ll profile the application, design benchmarks, theorise improvements, and iteratively refine the implementation to reduce allocations and execution time, while balancing performance gains with code readability and maintainability.
Along the way, you’ll learn how to use tools like dotTrace, dotMemory, and BenchmarkDotNet to target areas for improvement and validate gains. We’ll discuss common optimisation opportunities, from smarter memory usage and fewer allocations to more efficient execution flow.
By the end of this session, you’ll leave with practical techniques to write faster, more efficient .NET code, along with the judgment to know when optimisation is worth the trade-off, and when it’s not.
Resources
Have you enjoyed this post and found it useful? If so, please consider supporting me: