Andy Zivkovic's blog (Page 3)

C# JSON Deserialization Performance Basics

Shortly before .NET Core 3.0 came out, I was getting quite excited about System.Text.Json, specifically about the performance claims from the blog post. However, those performance claims were measured in requests per second on an ASP.NET Core web application. One of the design goals of System.Text.Json was to design it with async in mind, which is of benefit to high throughput, IO-bound workloads, such as server applications. But async is a theoretical performance penalty when the number of tasks scheduled on the Thread Pool not not exceed the number of CPU cores available, or for CPU-bound work. I was working on the NuGet client at the time, so I was curious what the client performance characteristics were. Here's a look back into what I learned, with a quick investigation into .NET 5 improvements.

Read more...