Microsoft .NET JSON serialiser could get faster start-up

Microsoft .NET JSON serialiser could get faster start-up

Improved throughput and reduced application size are also on the drawing board for the System.Text.Json serialiser

Credit: Dreamstime

System.Text.Json, a JSON serialisation library in Microsoft’s .NET development platform, could add C# source code generation in an upcoming iteration. The change is designed to improve performance.

Plans call for utilisation of new C# source generator capabilities to help the built-in serialiser in the following ways:

  • Improve start-up and runtime throughput
  • Reduce private bytes usage
  • Reduce application size
  • Improve IL (Intermediate Language) Linker friendliness by avoiding runtime reflection

Efforts to utilise C# source generation in System.Text.Json were in a prototype stage as of mid-December. Microsoft envisions their coming to fruition in .NET 6.0, due in November of this year.

The System.Text.Json library converts .NET object types to a JSON string and vice versa. It supports UTF-8 text encoding and was introduced in .NET Core 3.0. A type in the library, JsonSeralizer, purports to have the highest level of functionality for processing JSON data.

In the new .NET 5, released in November, System.Text.Json gained improvements in performance and reliability, making the library easier to adopt for developers familiar with the Newtonsoft.Json framework.

Other plans in the offing for System.Text.Json include:

  • Extended polymorphic serialization and deserialisation
  • Asynchronous serializing and deserializing IAsyncEnumerable<T>
  • The addition of snake_case naming policy
  • Changing default settings for JsonSerializerOptions

Tags Microsoft


Show Comments