Setting the Stage
  • Course Overview
  • Note for .NET Core experts
  • .NET Core History - Performance
  • .NET Core Concepts and Definitions
Measure Performance During Development Part 1
  • Measuring CPU
  • Measuring Memory
  • Visual Studio Performance Tools - PerfTips and Profiler
  • Visual Studio Performance Tools – The Diagnostic Tools Window
Measure Performance During Development Part 2
  • Event Tracing: ETW and PerfView
  • Micro Benchmarking with BenchmarkDotNet
  • .NET Core Performance Diagnostic on Linux
  • Performance Monitoring on the Developer Machine with Stackify Prefix
  • Performance Monitoring on the Developer Machine with MiniProfiler
Make your Code Faster – General Tips for .NET Developers
  • Value Types vs. Reference Types and Reducing Pressure on the GC
  • Value Types vs. Reference Types and Reducing Pressure on the GC - Demo
  • Saving Threads with async/await
  • Saving Threads with async/await – Demo
  • Choosing the Right Collection
  • Choosing the Right Collection - Demo
C# 7 Performance
  • Performance Impact of C# 7 Features
  • Avoid Heap Allocations with Local Functions
  • Make ValueTypes Faster with ref return
  • The Performance Characteristics of the C# 7 Tuple Feature
  • Optimization of async-methods with ValueTask
  • Pattern matching and Performance
New Performance Related APIs
  • Reusing Arrays with ArrayPool
  • Accessing all Types of Memory Safely and Efficiently with Span
  • Accessing all Types of memory Safely and Efficiently with Span - Demo
Data Access Performance: Entity Framework Core
  • Make faster Queries with Entity Framework Core
  • Loading Dependent Entities Efficiently
  • EF Core Performance: Maximum Length, Client Side Execution, Change Tracking
.NET Core Specific Performance Tools and Configurations
  • Pre-JIT .NET Core Applications with CrossGen
  • Make your .NET Core Application Smaller with Mono’s Linker
  • Faster Startup with ASP.NET Core Precompiled Views
Performance Monitoring in Production for .NET Core
  • Enabling Application Insights for ASP.NET Core Applications
  • Tracking Slow Requests and Performance Testing with Application Insights
  • Tracking Custom Dependencies with Application Insights
  • Monitoring .NET Core Applications with Dynatrace