If your API were a club, model validation would be the bouncer. It checks IDs, keeps out the troublemakers, and sometimes holds up the line. With .NET 10, that bouncer swapped the clipboard for a barcode scanner. Same rules, far less delay.

In this post, we will unpack what changed in ASP.NET Core model validation, why it matters to p95 latency, and how to verify the gains with small, focused benchmarks. Spoiler: you get the speed-up by upgrading, not by rewriting your controllers.

What actually got faster

Here is the high-level story behind the performance win in .NET 10:

  • Validation metadata is precomputed at build time, replacing reflection-based discovery during requests.
  • Execution uses direct, typed calls rather than virtual, object-based invocation.
  • Hot paths dropped LINQ and reduce allocations with spans and pooled buffers where possible.
  • Boxing of value types during validation is avoided.
  • Error materialization is lazier, which means fewer strings and less GC churn when many errors occur.

The practical result is better average latency, tighter standard deviation, and a noticeable lift at p95 and p99 when inputs are invalid or mixed.

This article will be available on March 30, 2026 at 8 AM Central Time US