~/talk

Deep dive into .NET performance and native AOT

Talkat Microsoft Build 2023 · 2023-05-23..05-25· [dotnet]

Upgrading to the latest .NET gives free perf gains, but the session shows concrete fixes: use Bombardier for load baselines, the Visual Studio profiler for CPU and allocation traces, then cut allocations (frontend strings/byte arrays drop from ~28 MB to ~3 MB) and reduce backend work with AsNoTracking, keyset paging, compiled queries, DbContext pooling and model precompilation. Result: backend throughput rises ~2,800 → ~5,389 RPS. Native AOT produces ~16 MB single-file exes and cuts cold-start first-request time ~1.2s → ~188 ms, with the caveat that Razor/EF/MVC aren’t fully supported yet.

AI-written summary · about

  1. 0:00Introduction and Benchmarks
  2. 2:55Application Overview
  3. 5:28Performance Profiling
  4. 8:15Identifying Bottlenecks
  5. 14:03Front-end Optimizations
  6. 19:43Verifying Front-end Fixes
  7. 21:56Backend Profiling
  8. 24:35EF Core Optimizations
  9. 33:05Backend Optimization Results
  10. 35:55Introduction to Native AOT
  11. 42:35AOT Results and Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.