Talk

Native AOT vs JIT in .NET 10: Performance, Optimizations, and Pitfalls

In Russian

In this talk, I will take a deep dive into the specifics of application compilation using Native AOT in .NET 10.

We will explore undocumented project settings and the impact of different processor instruction sets (SSE2, SSE4.2, AVX2, AVX512, and others) on performance.

Special attention will be paid to benchmarking Native AOT applications with BenchmarkDotNet. I will demonstrate performance comparisons of various algorithms and scenarios (string processing, Regex, LINQ, JSON and XML serialization/deserialization, etc.) across multiple configurations:

  • Classic JIT compiler,
  • Native AOT with default settings,
  • Native AOT with various extended instruction sets.

I will also cover upcoming changes in code generation planned for .NET 11 and how they will affect performance and compatibility with existing processors.

Speakers

Talks