Utf8Json icon indicating copy to clipboard operation
Utf8Json copied to clipboard

Looking forward.. (the future of Utf8Json)

Open danielmoncada opened this issue 5 years ago • 7 comments

@neuecc Just wanted to check in to see if you still plan on maintaining this project. As of writing, there are currently 22 PRs and 87 issues. Most of these have appeared to not be addressed at all.

With the release of .NET Core 3, Utf8Json should move forward to support this (i.e., a proper formatter).

Any updates would be appreciated. Thanks!

danielmoncada avatar Oct 22 '19 16:10 danielmoncada

I think .NET Core 3 support is essential. Also, PR for some bugs will have to be merged.

MessagePack-CSharp v2 work is nearing completion (this takes more than half a year) I think I have time to do them. Also, my personal maintenance is completely limited.

Recruiting maintainers, I will pass a lot of authority.

neuecc avatar Oct 24 '19 09:10 neuecc

I think .NET Core 3 support is essential. Also, PR for some bugs will have to be merged.

MessagePack-CSharp v2 work is nearing completion (this takes more than half a year) I think I have time to do them. Also, my personal maintenance is completely limited.

Recruiting maintainers, I will pass a lot of authority.

Thank you for the reply.

Now that Core 3 is out, there has a been a lot of comparison between Microsoft's System.Text.Json and your Utf8Json. Utf8Json is more than double the speed of Microsoft's. It would be nice to see more maintainers on this so that some of us can incorporate into our pipeline.

Thanks for the time and effort!

danielmoncada avatar Oct 24 '19 14:10 danielmoncada

Yeah, would love to integrate Utf8Json even into my ASP.NET Core 3.0 (and especially my "legacy" 2.2) projects as a default formatter. UPD: Found a nice example from a similar library.

Svetomechc avatar Nov 12 '19 11:11 Svetomechc

.AddMvcOptions(options =>
      {
        options.OutputFormatters.Clear();
        // can pass IJsonFormatterResolver for customize.
        options.OutputFormatters.Add(new JsonOutputFormatter(StandardResolver.CamelCase));
        options.InputFormatters.Clear();
        // if does not pass, library should use JsonSerializer.DefaultResolver.
        options.InputFormatters.Add(new JsonInputFormatter());
      });

Okay, this was actually easy, but could've been easier, like:

.ConfigureUtf8Json()

extension method on IMvcBuilder.

Svetomechc avatar Nov 13 '19 16:11 Svetomechc

@neuecc I can probably find some time to implement the above, if you are interested.

Svetomechc avatar Nov 13 '19 16:11 Svetomechc

I think .NET Core 3 support is essential. Also, PR for some bugs will have to be merged. MessagePack-CSharp v2 work is nearing completion (this takes more than half a year) I think I have time to do them. Also, my personal maintenance is completely limited. Recruiting maintainers, I will pass a lot of authority.

Thank you for the reply.

Now that Core 3 is out, there has a been a lot of comparison between Microsoft's System.Text.Json and your Utf8Json. Utf8Json is more than double the speed of Microsoft's. It would be nice to see more maintainers on this so that some of us can incorporate into our pipeline.

Thanks for the time and effort!

I enjoy the speed of this as well, but we recently found that when deserializing a large stream, Utf8json used triple the memory and had Gen2 allocations while System.Text.Json was twice as slow, it used 1/3 of the memory and no Gen2 allocations.

jtreher avatar Dec 12 '19 21:12 jtreher

MessagePack-CSharp v2 is still rc(but few weeks, will complete). I've invesitgated new techniques, use IBufferWriter and ReadOnlySequence that exists after Utf8Json relased. MessagePack v2 takes care of memory usage and Large object heap. I believe that it will definitely contribute to the performance of Utf8Json. (However, the implementation of MsgPack v2 takes a year and is not finished yet ...)

neuecc avatar Dec 13 '19 02:12 neuecc