Application Performance Optimisation in Practice
summary
Shows a concrete optimisation loop: use production traces to pick a hot SQL span, profile with dotTrace and memory snapshots, benchmark with BenchmarkDotNet, then apply targeted changes (pre-sized StringBuilder, ConcurrentDictionary cache, Span APIs, array pool, ref struct state). Built a benchmark+profiler harness using JetBrains profiler API to get line counts and allocations. Results: about 46% CPU reduction and ~86.5% fewer allocations after iterative stages, validated by benchmarks and existing unit tests.
AI-written summary · about
chapters (11)
- 0:00Welcome
- 1:02Performance optimization matters
- 3:09Premature vs reactive optimization
- 6:39Performance engineering discipline
- 10:10Triggers for optimization
- 16:48Production data vs benchmarks
- 17:08Performance optimization loop
- 22:09Demo and code walkthrough
- 44:50Code optimizations and results
- 58:09AI tools and profiling
- 1:00:14Key takeaways
related talks
01h 02mApplication Performance Optimisation in Practice
01h 03mThe performance loop—A practical guide to profiling and benchmarking
01h 06mGet Better App Performance with this One Weird Trick
45mOptimizing a .NET App Is Easy ! / ?
44m.NET Performance Investigation
47mUnlocking Performance Improvements in .NET
42mMeasure Twice, Optimize Once: Real-World .NET Profiling with Visual Studio
01h 03mTurbocharged: Writing High-Performance C# and .NET Code
