Speaker: Steve Gordon
In this workshop, you will discover how to measure the performance of .NET applications and perform targeted optimisations to make the code execute more quickly and with fewer allocations.
You will learn to use tools such as Benchmark .NET to measure the performance of an existing application. These measurements will act as a baseline before beginning to make high-performance optimisations. You will explore the latest C# and .NET Core features and APIs such as Span<T>, ArrayPool and the latest System.IO.Pipelines.
This workshop includes instruction from slides, practical code demos and some hands-on lab activities to apply the features being demonstrated.
By the end of this workshop, you will have a practical understanding of how to approach measuring code execution and memory usage. You will have applied modern techniques to refactor and optimise the code which you can use in your day-to-day work as a .NET developer.
- Benchmarking and measuring .NET application performance.
- Applying Span<T>
- Applying ArrayPool
- Working with I/O Pipelines
- Working with sequences of data using SequenceReader
- Advanced memory management techniques
This workshop covers quite advanced topics, so a reasonable level of C# and .NET experience is expected. The high-performance topics themselves will be covered from a beginner level so there is no need for prior knowledge of benchmarking, Span<T> etc.
A laptop capable of running .NET Core 3.0+
- An IDE or editor to work with .NET Core projects
- .NET Core 3.0+ SDK
Lecture + hands-on.